Latest News: (loading..)

Leaderboard


Popular Content

Showing most liked content since 06/30/2017 in all areas

  1. 7 likes
    Harald I can appreciate all the work you are doing behind the scenes to unify the osCommerce ecosystem, and I see that you have a vision. It's great that you are getting stuck back into it, lots of people were getting frustrated at a lack of progress so it will be great to shut down the negativity with these new releases (even tough they are more than long overdue!) Keep up the great work, it will be terrific to see things pick up again. I have to say that you owe @burt a big debt of gratitude, I hope you are going to do something special for him.
  2. 6 likes
  3. 5 likes
    Hi All.. Both v2.3.5 and v2.3.6 were planend to be released today (end of August) however a few more days is needed. This topic will be updated on the weekend with the date next week when the releases will be pushed out. Kind regards,
  4. 5 likes
    Thank You Frank. If it was not for you and a handful of other shopowners...I dread to think where osCommerce would be right now.
  5. 4 likes
    Hi All.. v2.3.4.1 has just been pushed out with the MySQLi setup detection fix and PHP 7/MySQL 5.7 compatibility updates. This is a silent release as v2.3.5 and v2.3.6 will be pushed out soon that has these fixes already incorporated. These minor fixes were a major showstopper for new installations - far greater than I had thought of. I'm still working hard on "the big picture" and achieving my goals for this year, and sometimes need a f* tonn of pings to address these "minor" code changes. I apologize for that and urge you to keep pinging me in the future when similar showstoppers arise. v2.3.4.1 does not address bootstrap/edge, that is what v2.3.6 is for.
  6. 4 likes
    My ethos is; Make it very simple for the customer to do things. As far as a checkout goes, what can be more simple than; login > choose shipping > choose payment > review order > complete It has been proven many times that a bite-size of cake, followed by a bite-size of cake...is far better than ramming a whole cake down ones throat. What I would like to see [in CORE]...which is sort of related... On shopping_cart.php a summary (estimated) shipping price, (estimated) taxes and so on. So they see their grand total prior to starting a checkout.
  7. 3 likes
    https://apps.oscommerce.com/m2hDP&rma-returns-system-for-osc2-3-4bs Full product returns system for osCommerce. Features · No core file changes needed, just upload to your store. · One click install. · Works with PHP 7.1 and Edge · Create returns from admin, or allow customers to create their own, or both. · You choose which order statuses orders must be at for customers to return items. · You choose how many days after ordering customers can return items from an order. · Includes issuing of discount coupons direct from the returns admin page*. · Includes Paypal refunds direct from the returns admin page**. Partial refunds OK. · If you require serial numbers to be entered this can be turned on in admin. You can also make serial numbers optional or compulsory. · Return items to inventory if you desire, just tick a box on the returns admin page. · Set a default restocking fee, and inform the customer when they fill in the return request. · Terms and conditions can be shown to customers before they fill in a return request, if so they must agree to continue. They can also have the terms and conditions emailed to their email address. · One click comments when updating orders. · Unlimited number of return reasons. · Unlimited number of refund methods. · Only logged in customers can create a return request. · Search for RMAs in admin by RMA Number, customer name, or order id · Will not create duplicate RMA request numbers.
  8. 3 likes
    @Frankl and the communty has created a great example about APP. But this example does'nt have elements to create a page in front office. This tuto resolve this point. You will the base to develop you own page We want to create a new enhanced contact us page for example This example don't give you all the code about the admin, classes .... Just the necessary to create a catalog page Below you will find all the code to start correctly ? After you must complete the elements by your own code Note : In App you can : Create page In admin Create page in Shop Add content in Shop (header / content / footer) Add Hook inside a page (like action, save, delete, insert, update) Add module like order total, payment, shipping ... You can not : Create a boxe (I tried with no success) : use the default osc approach Create a header_tag : use the default osc approach Go back to our code ! Step one oscommerce.json add Shop Element Info&Contact will be your link to access via the catalog Sites\\Shop\\Pages\\Manager is the location about the files and process "routes": { "Admin": "Sites\\Admin\\Pages\\Home", "Shop": { "Info&Contact": "Sites\\Shop\\Pages\\Manager" } } Step 2 Create your directories Apps -Communication --Manager ---languages ----- english ------- Sites ---------Shop ----------Manager ---Sites -----Shop ------Pages -------Manager --------Actions ----------Contact --------templates Step 3 Now in directories languages/english/...../Manager create contact.txt add heading_title = Contact US Step 4 Now in directories Sites/Shop/Pages/Manager create a file Manager.php Add namespace OSC\Apps\Communication\Manager\Sites\Shop\Pages\Manager; use OSC\OM\Registry; use OSC\Apps\Communication\Manager\Manager as ManagerAPP; class Manager extends \OSC\OM\PagesAbstract { public $app; protected function init() { $OSCOM_Manager = new ManagerAPP(); Registry::set('ManagerAPP', $OSCOM_Manager); $this->app = Registry::get('Manager'); $this->app->loadDefinitions('Sites/Shop/main'); // not necessary } } Step 5 Now in directories Sites/Shop/Pages/Manager/Actions create a file Contact.php Add namespace OSC\Apps\Communication\Manager\Sites\Shop\Pages\Manager\Actions; use OSC\OM\OSCOM; use OSC\OM\Registry; use OSC\OM\HTML; class Contact extends \OSC\OM\PagesActionsAbstract { public function execute() { global $breadcrumb, $OSCOM_Manager; $OSCOM_Manager = Registry::get('Manager'); // display or not the page (admin action) if (!defined('OSC_APP_MANAGER_STATUS') || !in_array(OSC_APP_MANAGER_STATUS, [ '1', '0' ])) { return false; } $this->page->setFile('contact.php'); $this->page->data['action'] = 'Contact'; //language $OSCOM_Manager->loadDefinitions('Sites/Shop/Manager/contact'); $breadcrumb->add(OSCOM_Manager->getDef('navbar_title'), OSCOM_Manager->link('index.php', 'Info&Contact')); } } Step 6 Now in directories Sites/Shop/Pages/Manager/Actions/Contact create a file Process.php Add namespace OSC\Apps\Communication\Manager\Sites\Shop\Pages\Manager\Actions\Contact; use OSC\OM\Registry; class Process extends \OSC\OM\PagesActionsAbstract { public function execute() { $OSCOM_Manager = Registry::get('Manager'); ------- your code to manage the process about the form ----- // Redirect on other page $OSCOM_Manager->redirect('index.php', 'Info&Contact&Success'); } } Step 7 Now in directories Sites/Shop/Pages/Manager/templates create a file contact.php Add <?php use OSC\OM\OSCOM; use OSC\OM\Registry; use OSC\OM\HTML; ?> <div class="page-header"> <h1><?php echo $OSCOM_PageManager->getDef('heading_title'); ?></h1> </div> <?php echo HTML::form('contact', OSCOM::link('index.php', 'Info&Contact&Process'), 'post', 'enctype="multipart/form-data"', ['tokenize' => true]); ?> ---- you can continue with your code ---- Step 8 Now to access at your page : http://www.mysite/catalog/index.php?Info&Contact
  9. 3 likes
    @Dutch1 OK, so you are trying to use the beta version of some software, which has already been described as not ready for production use, and then instead of listening to others advice and using 2.3.4BS you continue to run into issues with the beta version and come here to bitch about osCommerce being terrible. If the software is that bad why don't you contribute something that will fix the errors that you seem to keep having? This software is free to use and there is no one forcing you to do so. The developers involved often receive no compensation for their time and also have real jobs that need their attention. osCommerce 2.3.4BS works very well and many shop owners including myself are using it to run successful online shops.
  10. 3 likes
    There are very few coders on the Forum and all of them do it for a living. Why would these people help you? Most of the pro developers departed because there is no way for them to earn a living here. What there are a lot of; Shopowners who are looking for help Shopowners who can code a bit Shopowners who can code a lot Shopowners who can code are busy running their own shops...and if you are super lucky you might hit on one who is able to help you.
  11. 3 likes
    What about currency symbol left: <span style="white-space: no-wrap;"> and symbol right: <small style="padding-left: 5px;">AUD</small></span>
  12. 3 likes
    Sorry, I didn't write anything constructive in my post I think just by judging the way that one page checkout screenshot looks is overwhelming the customer with too much information on the screen at once. The checkout process column on the right is not needed as I presume that information is shown again in the last step for the confirmation. The same edit links are also available with each step listed. Having a JavaScript based one-page checkout procedure is nice and can outperform a standard checkout procedure, but only if it has been designed properly. The idea behind a one-page checkout procedure is to keep it as simple as possible for the customer experience, not the technical achievement experience.
  13. 3 likes
    @ArtcoInc @greasemonkey @Dan Cole Alright. Let me take a look at what I got and think of a way to share this in a meaningful way. It's built with a couple of php classes and sitting on top of a heavily customized version of OsC. This will not be a drop in solution, so some motivation and technical work on the receivers end will be required, I think. I can't promise anything this week, but I'll start looking into sharing code and guidelines to make this work for you. Expect two functionalities: 1) Synching your OsC inventory with Amazon, QTPro supported and 2) Downloading Amazon orders to OsC with inventory update. In the mean time, get your credentials in order: https://developer.amazonservices.com
  14. 3 likes
    Hi All.. User profiles are now available at the Apps Marketplace! Ambassadors get the bonus of highlighting 3 Apps on their profile page. This is currently their last 3 updated Apps - the next update to the Profiles page will allow the highlighted Apps to be defined. Caching has also been improved by moving to memcached - there should be a noticeable speed difference browsing through the pages. I'm keeping an eye on this to make sure the correct cache objects are flushed when updates are performed - if you spot something out of sync, please inform me about it. Thanks!
  15. 2 likes
    No input, just wanted to say "good work chaps". Nice to see some teamwork going on.
  16. 2 likes
    Ignore my errors this was due to me testing the review module but not making a review. I've made the review module that is included work too. I'll post the update shortly.
  17. 2 likes
    If anyone is interested, here's the latest USPS Release Notes. However, the real gem in this one was in the email from the USPS: I was going to say something snarky about that, but I can't come up with anything that tops that quote, so I'll let it speak for itself. Regards Jim
  18. 2 likes
    In a moment of madness I managed to delete my entire includes folder so restoring a back up and then updating my files.
  19. 2 likes
    Never mind I found a fix. This ##### BOF POINTS REWARDS BS ####### if ((MODULE_HEADER_TAGS_POINTS_REWARDS_USE_POINTS_SYSTEM == 'True') && (MODULE_HEADER_TAGS_POINTS_REWARDS_USE_REDEEM_SYSTEM == 'True')) { if (isset($_POST['customer_shopping_points_spending']) && is_numeric($_POST['customer_shopping_points_spending']) && ($_POST['customer_shopping_points_spending'] > 0)) { $customer_shopping_points_spending = false; // This if sentence should include check for amount of points on account compared to the transferred point from checkout_payment.php // Possible Hack Fix included if (tep_calc_shopping_pvalue($_POST['customer_shopping_points_spending']) < $order->info['total'] && !is_object($$payment) || (tep_get_shopping_points($customer_id) < $_POST['customer_shopping_points_spending'])) { $customer_shopping_points_spending = false; tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_NOT), 'SSL')); } else { $customer_shopping_points_spending = $_POST['customer_shopping_points_spending']; if (!tep_session_is_registered('customer_shopping_points_spending')) tep_session_register('customer_shopping_points_spending'); } } //To ensure only the first order of a new customer is entitled to grant point to his/her referrer. Otherwise, a hacker might hard-code the email address of a referrer and cheat for point on every single order the new customer made. if (tep_not_null(MODULE_HEADER_TAGS_POINTS_REWARDS_POINTS_USE_REFERRAL_SYSTEM) && (tep_count_customer_orders() == 0)) { if (isset($_POST['customer_referred']) && tep_not_null($_POST['customer_referred'])) { $customer_referral = false; $check_mail = trim($_POST['customer_referred']); if (tep_validate_email($check_mail) == false) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(REFERRAL_ERROR_NOT_VALID), 'SSL')); } else { $valid_referral_query = tep_db_query("select customers_id from customers where customers_email_address = '" . $check_mail . "' limit 1"); $valid_referral = tep_db_fetch_array($valid_referral_query); if (!tep_db_num_rows($valid_referral_query)) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(REFERRAL_ERROR_NOT_FOUND), 'SSL')); } if ($check_mail == $order->customer['email_address']) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(REFERRAL_ERROR_SELF), 'SSL')); } else { $customer_referral = $valid_referral['customers_id']; if (!tep_session_is_registered('customer_referral')) tep_session_register('customer_referral'); } } } } } if ( ($payment_modules->selected_module != $payment) || ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL')); } ######## EOF POINTS REWARDS BS #################*/ Should be this. ##### BOF POINTS REWARDS BS ####### if ((USE_POINTS_SYSTEM == 'true') && (USE_REDEEM_SYSTEM == 'true')) { if (isset($_POST['customer_shopping_points_spending']) && is_numeric($_POST['customer_shopping_points_spending']) && ($_POST['customer_shopping_points_spending'] > 0)) { $customer_shopping_points_spending = false; // This if sentence should include check for amount of points on account compared to the transferred point from checkout_payment.php // Possible Hack Fix included if (tep_calc_shopping_pvalue($_POST['customer_shopping_points_spending']) < $order->info['total'] && !is_object($$payment) || (tep_get_shopping_points($customer_id) < $_POST['customer_shopping_points_spending'])) { $customer_shopping_points_spending = false; tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(REDEEM_SYSTEM_ERROR_POINTS_NOT), 'SSL')); } else { $customer_shopping_points_spending = $_POST['customer_shopping_points_spending']; if (!tep_session_is_registered('customer_shopping_points_spending')) tep_session_register('customer_shopping_points_spending'); } } //To ensure only the first order of a new customer is entitled to grant point to his/her referrer. Otherwise, a hacker might hard-code the email address of a referrer and cheat for point on every single order the new customer made. if (tep_not_null(USE_REFERRAL_SYSTEM) && (tep_count_customer_orders() == 0)) { if (isset($_POST['customer_referred']) && tep_not_null($_POST['customer_referred'])) { $customer_referral = false; $check_mail = trim($_POST['customer_referred']); if (tep_validate_email($check_mail) == false) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(REFERRAL_ERROR_NOT_VALID), 'SSL')); } else { $valid_referral_query = tep_db_query("select customers_id from customers where customers_email_address = '" . $check_mail . "' limit 1"); $valid_referral = tep_db_fetch_array($valid_referral_query); if (!tep_db_num_rows($valid_referral_query)) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(REFERRAL_ERROR_NOT_FOUND), 'SSL')); } if ($check_mail == $order->customer['email_address']) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(REFERRAL_ERROR_SELF), 'SSL')); } else { $customer_referral = $valid_referral['customers_id']; if (!tep_session_is_registered('customer_referral')) tep_session_register('customer_referral'); } } } } } if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) && (!$customer_shopping_points_spending) || (is_object($$payment) && ($$payment->enabled == false)) ) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL')); } ######## EOF POINTS REWARDS BS #################*/ And in checkout_payment.php Find if (sizeof($selection) > 1) { echo tep_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['id'] == $payment), 'required aria-required="true"'); } else { echo tep_draw_hidden_field('payment', $selection[$i]['id']); } Replace with if (sizeof($selection) > 1) { echo tep_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['id'] == $payment), 'aria-required="true"'); } else { echo tep_draw_hidden_field('payment', $selection[$i]['id']); } Something similar may also need to be done for any other 'checkout_*.php' pages.
  20. 2 likes
    I'm OK at fixing other people's code but useless at writing my own. I'm looking at the last bug now, it looks like the java script isn't being triggered.
  21. 2 likes
    I have managed to find a fix to bug 3. In admin/customers_points.php Find if ($pointstodel > 0) { if (isset($_POST['set_exp']) && ($_POST['set_exp'] == 'on') && ($balance > 0)) { $expire = date('Y-m-d', strtotime('+ '. POINTS_AUTO_EXPIRES .' month')); $expire_date = "\n" . sprintf(EMAIL_TEXT_EXPIRE, tep_date_short($expire)); tep_db_query("update customers set customers_shopping_points = customers_shopping_points - '". $pointstodel ."', customers_points_expires = '". $expire ."' where customers_id = '". (int)$customers_id ."'"); } else { $exp = ($balance > 0) ? $Cexpire_date : 'null'; tep_db_query("update customers set customers_shopping_points = customers_shopping_points - '". $pointstodel ."' where customers_id = '". (int)$customers_id ."'"); $expire_date = "\n" . sprintf(EMAIL_TEXT_EXPIRE, tep_date_short($_POST['customers_points_expires'])); } Replace with if ($pointstodel > 0) { if (isset($_POST['set_exp']) && ($_POST['set_exp'] == 'on') && ($balance > 0)) { $expire = date('Y-m-d', strtotime('+ '. POINTS_AUTO_EXPIRES .' month')); $expire_date = "\n" . sprintf(EMAIL_TEXT_EXPIRE, tep_date_short($expire)); tep_db_query("update customers set customers_shopping_points = customers_shopping_points - '". $pointstodel ."', customers_points_expires = '". $expire ."' where customers_id = '". (int)$customers_id ."'"); } else if (isset($_POST['set_exp']) && ($_POST['set_exp'] == 'on') && ($balance == '0')) { $expire = null; $expire_date = "\n" . sprintf(EMAIL_TEXT_EXPIRE, tep_date_short($expire)); tep_db_query("update customers set customers_shopping_points = customers_shopping_points - '". $pointstodel ."', customers_points_expires = '". $expire ."' where customers_id = '". (int)$customers_id ."'"); } else { $exp = ($balance > 0) ? $Cexpire_date : 'null'; tep_db_query("update customers set customers_shopping_points = customers_shopping_points - '". $pointstodel ."' where customers_id = '". (int)$customers_id ."'"); $expire_date = "\n" . sprintf(EMAIL_TEXT_EXPIRE, tep_date_short($_POST['customers_points_expires'])); }
  22. 2 likes
    No it's just the 2nd one that needs to be changed.
  23. 2 likes
    Here the GIT repository: https://github.com/raiwa/Points_Rewards_BS_BETA_GIT
  24. 2 likes
    Hello @Tsimi, I did a test installation on the latest EDGE under PHP 7.1. I stillget a bunch of undefined and other errors in: admin/customers_points.php admin/customers_points_pending.php admin/customers_points_referral.php I'll go step by step to clean up this. For now I revised the complete installation and checked what can be moved into header tag and hook. Here my comments: CATALOG STEP = 1. open catalog/includes/modules/pages/tp_account.php - add modified module open catalog/checkout_confirmation.php (should be step 2) CATALOG STEP = 3. this snippet of the replace code: if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) && (!$customer_shopping_points_spending) || (is_object($$payment) && ($$payment->enabled == false)) ) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL')); } should be updated to: if ( ($payment_modules->selected_module != $payment) || ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) { tep_redirect(tep_href_link('checkout_payment.php', 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL')); } The entire code could be moved to a header tag module. open catalog/checkout_payment.php CATALOG STEP = 4. missing <script> tags: <script> /* BOF POINTS REWARDS BS */ var submitter = null; function submitFunction() { submitter = 1; } /* EOF POINTS REWARDS BS */ </script> missing tags: </tbody> </table> </div> The entire code can be moved into a hook open catalog/checkout_process.php CATALOG STEP = 5. Can be moved into hooks (3 functions) open catalog/create_account.php CATALOG STEP = 6. Can be moved into hook open catalog/create_account_success.php CATALOG STEP = 7. find snippet is: <div class="contentContainer"> <div class="contentText"> <div class="alert alert-success"> <?php echo TEXT_ACCOUNT_CREATED; ?> Can be moved into hook open catalog/logoff.php CATALOG STEP = 8. clean indents (no indents) can be moved into header tag. CATALOG STEP = 11. open catalog/product_info.php Can be moved into hook CATALOG STEP = 12. open catalog/product_reviews.php Can be moved into hook CATALOG STEP = 13. open catalog/product_reviews_write.php first part can be moved into header tag second part into hook CATALOG STEP = 14. open catalog/reviews.php Can be moved into hook CATALOG STEP = 15. open catalog/includes/application_top.php needs to be tested, but should be possible to include in header tag CATALOG STEP = 16. open catalog/includes/modules/boxes/templates/information.php - missing indent - include modified box - better include in the footer information module CATALOG STEP = 17. open catalog/includes/modules/boxes/bm_shopping_cart.php(optional) - include modified box - better include in the navbar module CATALOG STEP = 18. open catalog/includes/classes/payment.php Maybe could be done with a drop in payment class extension instantiated in header tag CATALOG STEP 19-25 language definitions could be moved into header tag/hooks ADMIN: ADMIN STEP = 1. open admin/orders.php Can be moved into hooks ADMIN STEP = 2. open admin/includes/functions/general.php keep as is ADMIN STEP = 3. open admin/includes/languages/english.php keep as is ADMIN STEP = 4. open admin/includes/languages/english/orders.php move to hook NOTE: Hooks need still core file modifications for hook register and calls. But it could be done in a install script. I have one example for this in the sloppy words cleaner contribution. Please have a look how it is done there and let me know what you think about. Sloppy Words Cleaner reloaded If you agree I then begin to create the header tag and hooks. Be patient, it will need time. Rgds Rainer
  25. 2 likes
    You have to try harder @rookery6658 - some of the spammers here are really really good...
  26. 2 likes
    @radhavallabh, just checked again: your store only works on IE and Microsoft EDGE it doesn't work on: Chrome, Safari and Firefox My test store installation works correct in all browsers.
  27. 2 likes
    2.3.4 EDGE from May 2017 local test installation under xampp PHP 7.1 Firefox 55.0.3 Country State Selector BS - v2.4.3 => throws some undefined and class constructor alerts but WORKS!:
  28. 2 likes
    Also, for anyone else who is a real member... If you come across these type of questions that are unconnected to osC...don't waste your time on them - report them and they'll be deleted next time an Admin logs in. Cheers
  29. 2 likes
    Based on EzSocial v1.01 add-on for OsCommerce 2.3 Written by Christopher Trigg. Easy and friendly way to add social logins to your site. Uses PHP for backend work to login and CSS to display buttons Consists of: Base module which installs a social login box on your login.php page; and Sub-modules for each social login provider. No core files overwritten, just upload then follow installation instructions. Requires you to create an app for each provider you require (Facebook, Google, LinkedIn) - instructions are included. You can also add other providers such as Twitter, Instagram, Github, Microsoft, Yahoo etc with minimal effort (some technical knowledge required) All feedback, problems, suggestions welcome Find it here https://apps.oscommerce.com/vVTNW&ezsocial-for-osc2-3-4bs-v1-0a
  30. 2 likes
    @douglaswalker and @crimble crumble Add https://www.domain.com/login.php to the OAuth 1.0a Default "Cancel" Redirect URL: setting on your LinkedIn app authentication page
  31. 2 likes
    If you're already running on v2.3.4 without any issues, there is no need to update to v2.3.4.1. It would be better to update to v2.3.5 to apply the latest security fixes, compatibility fixes, and bug fixes. You will also have the option to update to v2.3.6 when you're ready to move to the bootstrap series. v2.3.5 will not break compatibility with existing addons - it's a maintenance release that will finalize the v2.3.4 release series and is planned to be the last release of this series. v2.3.6 may break compatibility with existing v2.3.4 addons due to moving to bootstrap. The 2.3.6 version label will be added to the Apps Marketplace once it's released so updated addons and Apps can be clearly labelled.
  32. 2 likes
    The "AJAX Attribute Manager BS" submission is now linked to the "AJAX Attribute Manager support" support topic.
  33. 2 likes
  34. 2 likes
    Farewell Add-Ons website! All links now redirect to the Apps Marketplace. The last of our legacy websites just went offline.
  35. 2 likes
    Hi All.. Support topics can now be added to Apps! Support topics must be created by the original uploader of the App and the topic must reside in one of the Add-Ons forum channels. The possibility to link a topic is at the bottom of the Edit -> App page. Start typing the title of your topic and you'll be able to choose from an auto-suggestion list.
  36. 2 likes
    Popup - Processing Order http://www.clubosc.com/popup-processing-your-order.html
  37. 2 likes
    @MrPhil Pitchforks and two update channels Permissions to gather pitchforks has been granted. In addition, two update release channels could be implemented: "stable" and "latest". Normal releases call out the "stable" update channel looking for updates to apply. A setting can change this to "latest" to call out the latest update channel where changes pending a normal/stable release can be pushed to.
  38. 2 likes
    Guys, the next updates will be pushed out this month. v2.3.5 and v2.3.6 will be out this month, and v2.4 will be out next month. The community bootstrap edition Gary worked on will be moved to the official v2.3.6 version.
  39. 2 likes
    Here's a good article: https://www.smashingmagazine.com/2017/05/better-form-design-one-thing-per-page/ I might actually rework my checkout with this in mind.
  40. 2 likes
    Hey guys, enjoying this discussion.... Just wanted to point out, if you think it's relevant to OsC, Amazon (the largest ecom retailer in the world by far) doesn't use one page checkout. 4 super simple clean steps
  41. 2 likes
    6 steps, and entering credit card information before the checkout confirmation page? That's not an improvement.
  42. 2 likes
    Hi Jose.. We are aiming to push out v2.3.5 and v2.3.6 this month. v2.3.5 includes PHP 7 and MySQL 5.7 compatibility fixes to the v2.3 codebase, and v2.3.6 migrates the community bootstrap edge version into an official release. To get that specific issue fixed which you are experiencing, please make the following change to the following file: catalog/install/templates/pages/index.php https://github.com/osCommerce/oscommerce2/commit/d7f47032afbda82c6342c6fc83777de30a36b5b8
  43. 2 likes
    I suggest we make a shortlist of all the key optimization tips linked to an actual add-on or explanation. This will also save other busy store owners from reading 37 pages of the thread. Everybody, please do join in. It will certainly be appreciated by future visitors to this thread. use mod_pagespeed, mod_expires, mod_headers gzip compression = 1 (admin) index products_to_categories (db) index specials (db) cache configuration new_products.php tep_get_tax_rate tep_get_path tep_show_category
  44. 2 likes
    @imusorka Instructions for what @discxpress suggested: In phpMyAdmin (if you have it) choose the products_to_categories table, then select structure. Tick both columns and then click Index.
  45. 2 likes
    Nice thread here. If you can't beat them, join them. And neither you or I can't beat Amazon. For the last few months we've integrated our OsCommerce shop with Amazon. We haven't added a single SKU to Amazon's catalog, we have just added our SKUs price and quantity to existing Amazon ASIN (Amazon Standard ID Number ) listings, that is how Amazon works. The barrier to successfully enter the Amazon market - meaning getting a couple of sales at least, a pulse - is far lower than for instance eBay (where we also started selling recently), where buyers will scrutinize a new seller to a much higher degree. On Amazon, I actually think many or buyers believe Amazon is the actual seller and if you're listing your inventory against products with already good reviews, you sort of inherit those products' trust. We're now using several Amazon MWS APIs to synch our inventory, download Amazon orders etc into OsCommerce, so far so good. We did the same with eBay btw. We got approved for Seller Fulfilled Prime not long ago and it has helped our sales quite a bit, it wasn't that hard to get approved, just ship your stuff on time every time. Based on this experience, I think multi-channel is the way to go, your local osCommerce shop, brick and mortar, eBay, Amazon and what else? I would encourage everyone here to create an account with Amazon, get approved in the category your sell and see if you can manually list a couple of products there. Try it out. Just be careful, Amazon does not favor sellers that are unable to fulfill orders or ship late. Read the Amazon forums for sellers complaining over and crying about being suspended for not upholding their merchant metrics.
  46. 2 likes
    So, I did some reading on Schema.org and Stackoverflow and I think I found somethig to try. Just so I can expand on this, my main search term is "dried flowers" and Google list my index page, but i dont' have an image on it. Google is showing other sites ahead of me that have a category in some way called "dried flowers and those with images are ranking higher. For some of my items, I am #1 on Google and it shows the product image, so my thought is to have a main image on my index page. Here's the code I found to try. Has anyone done this? <div itemscope itemtype="https://schema.org/WebPage"> <img src="e.g./pic.jpg" itemprop="primaryImageOfPage" /> </div> Anyone have any thoughts or reason not to do this?
  47. 2 likes
    To amplify that a bit: $oscTemplate->getTitle() echos whatever was entered into $oscTemplate->setTitle(). You can feed that from the database, from a variable, or from a constant -- whatever you want. Modern osCommerce is pretty flexible. One thing you should never do is mix in static HTML pages. A customer going to one of those pages could lose their session, including cart contents, etc. This makes for unhappy customers. Keep everything in the osC framework and you'll be fine. Regards Jim
  48. 2 likes
    New version Sloppy Words Cleaner reloaded 3.0 uploaded: Sloppy Words Cleaner reloaded I did this as an exercice for future OsC 2.4 Apps and included auto installation and update scripts in the store module. So update from previous versions, hook support for older 2.3.4 EDGE and 2.3x Standard versions and core file changes (hook register and hook call) are automatically executed when installing the store module. Like this installation consists in copying new files and installing the module, that's all. If the auto install fails, which may only happen for older, heavy modified stores, optional manual instructions are also included. Compatibility: OsC 2.3.4 Bootstrap Community Editions GOLD and EDGE at least up to 2017/05/14 OsC 2.3. to 2.3.4 Standard - ISO and UTF-8 encodings supported PHP: 5.3, 5.4, 5.5, 5.6, 7.0 Filenames, Database Table Names and paths hardcoded. Superglobal variables used. Changes versus previous versions: - complete recoded and packed in a store module and hook - easiest install, just copy files and install store module - no manual edits at all - unicode/utf-8 support added to all preg_replace_callback functions (/u modifier) - all functions rewritten to class functions and joined into on e function with variable passed for different subjects - auto add hook register and calls to all files - auto check for hook support and auto install if needed - auto update from previous versions - all configuration entries and exeption arrays are included in the store module and can be modified in your admin area. - support for PWA Checkout add-on and other additional input fields included Hope you like it. Any reports - suggestions very welcome. Rainer
  49. 2 likes
    Just uploaded latest and (hopefully) final version 0.3 Please let me know if you encounter any issues. Rudolf
  50. 2 likes
    sorting order in payment methods has no effect on appearance of payment methods. It seems that relevant code is missing. In order to fix, edit /catalog/includes/classes/payment.php Find 'function selection()' and replace complete function with: function selection() { $selection_array = array(); $sort_order_array = array(); if (is_array($this->modules)) { reset($this->modules); while (list(, $value) = each($this->modules)) { $class = substr($value, 0, strrpos($value, '.')); if ($GLOBALS[$class]->enabled) { $selection = $GLOBALS[$class]->selection(); $sort_order_array[] = $GLOBALS[$class]->sort_order; if (is_array($selection)) $selection_array[$GLOBALS[$class]->sort_order] = $selection; } } } /* To sort payment methods, we append a key to selection_array and key is sorting order. Then we sort by key low to high and return just the values */ ksort($selection_array); return array_values($selection_array); }