Jump to content

Most Liked Content

#1726968 v2.4.0 Beta Roadmap Pre-Announcement

Posted by Harald Ponce de Leon on 21 April 2015 - 09:21

Hi All..


Here is a pre-announcement of a roadmap that will lead to a production ready release of osCommerce Online Merchant v2.4.0.


v2.4.0 starts off a new release series that existing users can upgrade to. v2.4.0 contains no database schema changes to allow for an easier upgrade routine. It does however contain a much more modern codebase than v2.3 - any code customizations and add-on installations will be incompatible and will need to be adapted to the new codebase.


The minimum PHP version requirement has been set to v5.5. Although the v2.4.0 codebase is still based on v2.3 and could work on an earlier PHP version (eg, PHP v5.3), it is important to note that PHP v5.4 is no longer actively supported since 14th Sept. 2014 and will only receive security fixes until 14th Sept. 2015.




Setting the minimum PHP version requirement to v5.5 allows developers optimize their add-ons for v2.4.x and later release series (eg, v2.5.x).


The current development release of v2.4.0 still contains v2.3 legacy code we would like to replace for the new release series. To help developers create new add-ons for and migrate their existing v2.3 add-ons to the new release series, the following roadmap has been defined to keep the community up to date.


This is a roadmap of beta releases to:


1) release as soon as possible

2) not delay releases with huge amounts of core code changes

3) help and guide developers who need to prepare their add-ons for v2.4.0


Beta releases are for testing and development purposes only. No upgrade path will be provided for the first beta release nor for in-between beta releases. API incompatibility changes will occur between beta releases and will be documented. The roadmap will adapt during the development of the releases.



Beta 1



- Bootstrap

- PDO Database class

- HTML class for input fields



- Bootstrap

- Use classes from Shop


Beta 2



- Move language definitions to ini style

- Migrate legacy classes to new namespace classes:

-- Breadcrumb

-- Currencies

-- Language

-- Message Stack

-- Navigation History

-- Shopping Cart




- Database Schema comparison tool



- Move language definitions to ini style


Beta 3



- Migrate remaining classes and functions to new namespace classes

- Add hook calls


Beta 4



- Bootstrap

- Adapt core namespace


Beta 5



- Use classes from Shop



- Provide a list of available language packs to download



The goal of the minimum PHP v5.5 requirement and with v2.4.0 is not to create a new object-oriented fanboy ready codebase (this is what v3.0 is for), but to create an even more modular and modern codebase that not only add-ons can easily plug into, but to also allow us to release new core features that existing store owners can easily upgrade to and use.


Development and progress can be followed at Github:




Thanks to the work of Gary and the community, v2.4.0 beta 1 will be available this month with the new responsive template design based on Bootstrap.

#1721633 2.3.4, Gold, Edge, 2.4

Posted by burt on 10 March 2015 - 09:48

First a little bit of history...

osCommerce was started back in 1999, with public release in early 2000 (v1) - it was one of the first open source ecommerce platforms, and so brought ecommerce to the masses. It was not easy to setup an ecommerce site inside a few hours and be selling the next day, until Harald, Mark, Jan and others brought osCommerce out...it changed the face of selling online.
Fast forward a few years, and osCommerce is still going strong, now on v2.2.
Fast forward a few more years, and osCommerce is in decline. It's old, it's unloved.  v2.2 is based on a tables system and has lots of old style inline javascript.  It's ancient, and outdated by the standards of a decade ago.
Five years ago a new version is brought out and named 2.3, this added lots of new features and a different layout system based on the 960 grid system.  It still has lots of older style code in it, which means that addons from the 2.2 days can still be used.

Where is osCommerce at right now?

we're at v2.3.4, still based on 960 grid (for layout), using jquery (for javascript functionality) and jqueryui (for certain design aspects).  It still has some inline javascript as well.  This version allows shopowners to use most of the older addons.
we're at v2.3.4(responsive), which is based on Bootstrap (for layout) and using jquery (for javascript functionality).  jqueryui has been removed (shop side).  It is lean and mean, and I want to make it leaner and meaner...
The Future
Plans have been in the works for around 5 years for a 2.4 version that is osCommerce built again from the ground up.  It would have had no relation to 2.2 or 2.3, and therefore no compatibility for any addon.  Mistake to release?  I think so. It would have been an orphaned build, unloved by shopowners (as it has no addons), unloved by developers (as no shopowners to build for).
The new v2.4
With the stellar work done by the community on v2.3.4[r], a decision was made to nuke the "in the works" v2.4 and instead replace it with a "new" 2.4 based on the work done (and in fact still being done) in v2.3.4[r]. 
This is a new build that destroys all compatibility with previous versions.  It has been in the works for many years, and I suspect will be for a good long while yet.  Don't bother waiting for it.
So, which should you, as a shopowner, do next ?
v2.3.4[r] is where all development is presently aimed.  
Upgrade to v2.3.4[r].

  • your shop side will become 100% responsive
  • we work almost every day to optimise the codebase
  • we are adding in aspects that all shopowners require
  • it is easily templatable
  • it is easy to add (well coded) addons (drop in, enter admin, turn on)
  • you can use the older style addons as well (ones that change core code, with mostly cosmetic changes required)
  • you are on the path to 2.4
How to get v2.3.4[r]
Download the GOLD release.
This release is a v2.3.4[r] snapshot that works, and is stable.   If you are not of a technical mind and you do not want to spend time on one by one updates when new code is released, you should choose this version.   At some point, you will update to the next released version (v2.3.5[r]) and this will be easy if you have not changed any core code in the build.   
Download the EDGE release.
This is the latest v2.3.4[r] codebase, with up to the minute you download bugfixes and code changes.   You should choose this version if you are of a technical mind and are able to copy/paste the changes made as they are made.  If you keep on top of updates, you will always have the latest code base and never need to upgrade.

#1754525 17 Years Young!

Posted by Harald Ponce de Leon on 12 March 2017 - 20:43

We're 17 today! 17 years working on Open Source. 17 years working with you. Trusting us for 17 years.


Thank you!


We're not only celebrating just today, but this whole month! New releases coming soon. New websites coming soon.




Happy Birthday osCommerce!

#1746679 2.4 Series

Posted by Harald Ponce de Leon on 17 August 2016 - 23:43

Hey Guys..

No download release yet, but...

as has been noticed, the v2.4.0 Administration Dashboard is being worked on to also bring it up to the same level of awesomeness you have all worked hard on for the shop frontend. Although we're working hard on this, it will take a little bit of time to get all of the administration pages updated.

To help test and bug fix the shop frontend and administration dashboard further, v2.4.0 will start as a beta release series for testing and development purposes only. The first set of releases will focus on new installations first and an upgrade procedure for existing v2.2/v2.3 installations will be provided in later releases.

The first v2.4.0 beta release includes a core online update feature to 1-click apply update packages. v2.4.1 will be waiting for you as soon as v2.4.0 is pushed out to help test the online update feature. There are still a lot of changes pending so the following rules will apply for the online update feature:
During the beta release phase: any file in the catalog and admin directories are applicable to be updated and will overwrite any local changes made. (Eventually all files will be updated once we move from the GPL license to the BSD license)

After the beta release phase: any file apart from the catalog root files and shop template files will be applicable to be updated and will overwrite local changes made in other files (eg, in functions, classes, modules, and admin root files).

If a manual update to a root catalog file or catalog template file is required, this will be described in the release announcement.
As soon as we're ready to leave the beta phase and push out a production ready release, the version number may end up being v2.4.32 and will be marketed as "v2.4".

To reach that goal as fast as possible, we will only be requesting feedback on testing and bugs until the first production ready release is made. Feedback for improvements and new features will be welcome after this to include either in the next v2.4.x releases or in v2.5. We have already accumulated a lot of feedback and ideas so we're now focusing on testing and bug fixes.

The online update feature is just about ready. As soon as this is pushed out to github, all the development branches will be merged together and v2.4.0beta will be pushed out with a new announcement in the forum (with information about the App framework).

Here's a screenshot of the administration dashboard online update page to tease and wet your appetite:

Attached File  240ou.PNG   64.58KB   27 downloads

#1718900 Discussion about Hard Coded Database Tables

Posted by frankl on 28 February 2015 - 00:18

What is needed is for osCommerce to become more popular. That way, it will attract more coders, who will provide more add ons and themes, which will make osCommerce more functional, which will lead to more sales for shop owners.


The only way to make osCommerce more popular is to make it easy to use for the average non technical webmaster.


In the past, and even up till now, the base code has been relatively easy to install but hard to alter - which has come at a cost. Haphazard add on development, with changes to the core code that causes conflicts, and great difficulty in theming. This results in headaches if people want to alter their osC store (and most osCommerce stores that basically all look the same).


What is the motivation for people to create and maintain add ons and themes? To make money, or contribute back to the community. For the former, it is a complete headache to provide support because if a shop owner (or developer) installs add on Y, it interferes with add on X resulting in extra coding work (plus the time it takes to find the problem!). For the latter, the amount of work involved helping out less experienced shop owners makes the whole exercise of "giving back" a tiring and thankless exercise.


Look at a program like Wordpress - easy to install, easy to maintain, easy to skin, easy to install add ons - and people are happy to code for it because they know it will just work if they adhere to the standards. osCommerce can be like that. Old time osC users need to change their thinking in this transitional process.


Where some us find it a great (and satisfying) challenge to hack the core code to get it to do what we want, we need to look at things differently. How can we add functionality without touching the core code? How can we use hooks, modules and themes to make an exciting and functional shop? We want to get to the stage where the average shop owner won't even need to know what FTP is used for! They should be able to download and install add ons and themes from an osC app store - some may be free and some may be paid. We aren't even half way there yet.


We have to let the developers get osC to that "easy" stage. We can make suggestions, test, and in general help wherever we can. The result will be a robust, easy to use eCommerce suite with many more users and stores that have a unique look and feel that will result in what we are looking for - more sales and conversions. Plus developers, add on writers and theme creators should be able to make money, adding even more creativity to the osCommerce ecosystem. 


Time to move forward!

#1751414 Happy Holidays!

Posted by Harald Ponce de Leon on 21 December 2016 - 10:37

We wish everyone a great holiday season and a fantastic start in 2017!


Special thanks to the team, our community members, and our partners - thank you for your continued support in not only helping us, but also continuing to welcoming and helping new store owners joining the community.


Our highlights during 2016 include the launch of our new Live Sites website, our new German website, and the development of a new osCommerce Online Merchant v2.4 Joli release series currently in beta.


The upcoming v2.4.3 version will include a tool that inspects the database schema to display the differences with the installed database structure compared to what is expected from the core database structure of the release. This plays an integral role in supporting upgrades and migrations from our earlier v2.3 release series, and also supporting database schema changes Apps need to perform.


Our awesome community members of the month for 2016 are:


The 10 most active Add-On developers for 2016 are:


  1. raiwa
  2. auzStar
  3. kymation
  4. Tsimi
  5. Jack_mcs
  6. Shopgate
  7. f.figue
  8. Gyakutsuki
  9. PiLLaO
  10. dp.ramone

Our plans for 2017 include the production ready releases of our v2.4 and v3.0 release series, using Crowdin to manage the osCommerce Online Merchant language definitions, launching our new Apps Marketplace website, launching a new website showcasing your community profile highlights across our websites, launching our websites in more languages, merging and supporting multilingual communities, relaunching our social media presence, and more exciting endeavors to be announced throughout the new year.


We look forward in making 2017 your best year yet!


Happy holidays!

#1749841 osCommerce Online Merchant v2.4.0 Joli Beta

Posted by Harald Ponce de Leon on 11 November 2016 - 21:18

We're extremely proud to announce the next osCommerce Online Merchant release series is rolling out now starting with the beta release of v2.4.0 Joli! This is a developers release that has a rapid weekly release schedule to finalize the framework API and to build on to the v2.x series with quality production ready releases.


v2.4.0 Joli Beta includes the community led effort by Gary Burton to modernize the frontend with a responsive Bootstrap template called Sail. This not only aims to improve the customer experience on the site frontend to encourage and improve sales, but also on the site backend with a more user intuitive interface to work with the business side of sales.


The OSC\OM framework that was introduced in the v3.0 developer series has been backported and invites developers to start migrating their add-ons to the new self-contained App infrastructure that not only allows for more secure and easier installations of third-party software, but also online installations and updates through the Administration Dashboard (coming in a later beta release). This involves a tight integration into our new App Marketplace that will be launched in the near future.


v2.4.0 will be the only public release of the v2.4 beta series - all weekly updates during the beta phase will be delivered through the online update feature to get the online update feature tested on as many server configurations as possible.


There are still a lot of changes planned during the beta phase that will break the framework API and is the reason for the beta release series. All changes between releases will be documented to keep developers up-to-date and to help them finalize their Apps for the production ready release.


We're committed to Open Source and are continuing our goal of moving from the GPL license to the MIT license. This is the first release in the v2.x series to be completely licensed under the MIT license.


osCommerce Online Merchant v2.4.0 Joli Beta can be downloaded at:




The PayPal for osCommerce Online Merchant App is bundled with this release. The Braintree for osCommerce Online Merchant App can be downloaded separately at:




It will be possible to install and upgrade Apps directly in the Administration Dashboard in an upcoming beta release.


Documentation for this release series is available at:




Discussions on this release series can be found at:




Known issues and bug fixes can be found at:




An online demonstration of v2.4.0 Joli Beta can be found at:




We’d like to thank the community for helping us out with the development of this release and for their continued dedication and support, and especially thank Joli for the good times he shared with all of us in the community. This release series is dedicated to you pal, you will always be remembered.

#1749423 2.4.0beta Pre-Package Release Status

Posted by Harald Ponce de Leon on 02 November 2016 - 08:09

Hi All..
Here's what is left to do to package and release v2.4.0beta:

  • Documentation for v2.3.x Braintree App
  • v2.3.x Braintree App tagged on Github
  • Documentation for v2.4 Braintree App
  • v2.4 Braintree App tagged on Github
  • Documentation for v2.3.x PayPal App
  • v2.3.x PayPal App tagged on Github
  • Documentation for v2.4 PayPal App
  • v2.4 PayPal App tagged on Github
  • v2.4 OSCOM Framework Documentation
  • Review and consider language definitions updates for inclusion in v2.4.0beta or to leave for v2.4.1beta
  • v2.4.0beta Package for testing
  • v2.4.0beta Release + Release Announcement
  • v2.3.5 Package for testing
  • v2.3.5 Release + Release Announcement

This list will be kept up to date.
Reply with :heart:  :D

#1747231 Search add-on Reviews

Posted by ArtcoInc on 31 August 2016 - 18:06

Search add-on Reviews

While working on a new store, I've been exploring the different Search add-ons available. I hope that others may find this useful.


I looked at four different Search add-ons:

A) Store Search (BS)

B) SiteSearch Plus v1.4

C) SmartSuggest - Self-learning Ajax Search Suggestion    v1.0.3

D) Twitter Typeahead Autocomplete Search v1.6

All of these have support pages on the forum.

I installed these individually on a clean installation of osCommerce v2.3.4bs - Edge. The tests were run on the stock database. For comparison, I used the search phrase 'mic' in each of the tests.

All of these either enhance the stock Search box in the header, or replace it. If replaced, the new Search box can have the bootstrap column width adjusted in Admin, just like the stock one.

                                                                           |      A      |         B        |        C       |      D      | 
Requires core file edits                                       |     No     |      Yes *      |     Yes      |     No     |
# of hits searching for 'mic'                                 |     6 *      |        3         |      3 *       |      5      |
(using as-installed default settings)                    |               |                   |                  |              |
When clicking on a result, are you sent to the    | Product  | Advanced  | Advanced | Product |
Product page, or to Advanced Search Results   |               |req. 2 clicks|                  |              |
Shows Product Image in Search Results            |     No      |       No        |      Yes      |    Yes    |
Shows Product Description in Search Results    |     No      |       No        |       No      |    Yes    |
Can select what pages to include in Search       |    Yes     |        No       |        No      |    No     |
Records Searched for Words                             |     No      |       No        |      Yes      |    No     |
Emails Store Owner if Search Not Found           |      No     |       Yes       |       No      |     No    |
Pretty ranking (1=best) (in my opinion)              |       3      |         4         |        2       |      1      |

Comments and thoughts:

A) Store Search (BS)

Attached File  Screen Capture - Search - A1.JPG   42.95KB   3 downloads

Plug and Play. Highly configurable. I like the 'Search Results Highlight' feature. Changing the configuration can alter the number of search hits. Using the 'out of the box' configuration, this gave the most number of search hits:

1 category
3 products
2 'other' pages

If you want your Search to be able to include searching pages other than just products, this is the one.


B) SiteSearch Plus


Attached File  Screen Capture - Search - B1.JPG   41.83KB   4 downloads

If your server has PHP in strict mode, there are additional edits needed in a file. This is mentioned on the support thread, but is not included in the downloaded package.

This is the only package that has the email option.


C) SmartSuggest - Self-learning Ajax Search Suggestion


Attached File  Screen Capture - Search - C1.JPG   31.36KB   4 downloads

This is the only package that records the Searched for words. Personally, I find this feature very useful.

Changing the configuration can alter the number of search hits.


D) Twitter Typeahead Autocomplete Search


Attached File  Screen Capture - Search - D1.JPG   54.76KB   3 downloads

Plug and Play. This is clearly the prettiest of the add-ons. There are *many* options one can adjust and configure. Using the 'out of the box' configuration, this gave the second highest number of search hits.


Final thoughts:


I like the search functions that allow the user to go directly to the product or page, without having to make a detour through Advanced_Search_Results.


If I could pick-and-choose features, I'd start with D, add the ability to select the searched pages from A, and the recording of the searched for words in C

Your results may vary. Only you can decide what is important for your shop.



#1715723 Upcoming Changes

Posted by burt on 11 February 2015 - 17:02

As most of you will know, my aim is to get osCommerce to a place where it can be seen as a competitor to other carts that have grown stronger while we have withered. To do this I need help from the WHOLE community, that means YOU.  Read on.

Upcoming Changes Planned:

1. Plug all pages into the osCtemplate class
1.1 some pages will be Content Modular "cm_"
1.2 most pages will be simpler Template Page "tp_" ((not an ideal) example right now: account.php)

2. Make index.php 100% cm_, requires content modules for - PART DONE
2.1 heading - gary
2.2 welcome guest - gary
2.3 main text - gary
2.4 new products - gary
2.5 upcoming products - gary

2.6 subcategory icons 

2.7 product lists in category pages

3. Make product_info.php 100% cm_, requires content modules for - DONE
3.1 product title - matt
3.2 product price - matt
3.3 gallery - matt
3.4 description - matt
3.5 options - matt
3.6 reviews button - matt
3.7 buy button - matt
3.8 reviews - done
3.9 also purchased - matt

4. Create a Product Class, this class to be used shop-wide to display products data
4.1 class can then be utilised elsewhere eg in addons and modules

5. Plug in SEO as core code
- obvious reasons

5.1 this will add modules to many pages

6. Microdata the hell out of every available page
- good for google


7. Move languages out of text files and into database or ini files

8.  Update Products to look like it's not the year 2000.


9. Bootstrap Installer DONE


10. Bootstrap Admin


11. Backport v3 Options/Attributes System


12. Attribute Sort Order [Priority]



It is time 

It is time for more developers to step up to the plate and start swinging, so which of you are able to volunteer some time to do any of the above ?  


It is time for more shopowners to step up to the plate and help to drive osCommerce forward by spending time to discuss their day to day operations using osCommerce, to test code that is provided and to provide feedback on that code.  
Points for Discussion
a] what other pages need to be full modular ?


b] See "It is time" and if YOU have so far done nothing, ask yourself why.

#1712891 28 Days Of Code, February 2015, Rocking osCommerce

Posted by burt on 16 January 2015 - 15:21

28 Days Of Code

This was a popup site during February where I came up with a module each day.  It's now over, but all the modules are still available individually or as a "buy all" purchase.


Some modules are for 234(normal), most for 234(bootstrap) and some for both.

#1699381 osCommerce Online Merchant v2.3.4

Posted by Harald Ponce de Leon on 05 June 2014 - 21:21

We're proud to announce the release of osCommerce Online Merchant v2.3.4! This release introduces a new Content Modules feature, secures the Administration Tool if SSL is enabled, and includes new and updated payment modules.

Content Modules

Content Modules is a new feature that builds and loads the content of a page through modules. The My Account, Login, and Checkout Success pages have been updated in this release to utilize Content Modules and can now be customized and manipulated through modules without editing source code files.
Other pages will soon be updated to utilize Content Modules in following releases and improved on with your help and feedback.

Log In with PayPal

The first featured Content Module being introduced is Log In with PayPal which can be added to the Login page. This allows customers to authenticate themselves through PayPal without needing to create a local store account.
Log In with PayPal supports a seamless checkout experience with PayPal Express Checkout where customers don't need to log in again when purchasing and starting the PayPal Express Checkout flow.

HTTPS Administration Tool

The Administration Tool now loads in HTTPS if SSL has been enabled on the store.

Payment Modules

The following payment modules have been updated to utilize the latest payment gateway APIs and to have each secured API call verified through CA public certificates.
Some payment modules have also been updated to support stored card tokens where customers can securely store their card payment information at the payment gateway and to reference their cards in later purchases without needed to retype their card information again. These include:
  • Sage Pay Direct
  • Stripe
  • Braintree

The following modules have been updated:
  • PayPal Express Checkout v3.0
  • PayPal Payments Standard v3.1
  • PayPal Payments Pro (Direct Payment) v3.0
  • PayPal Express Checkout (Payflow Edition) v3.0
  • PayPal Payments Pro (Payflow Edition) v3.0
The following modules are being introduced:
  • PayPal Payments Pro (Hosted Solution) v1.0
The modules can be downloaded separately for existing stores at:


Sage Pay

The following modules have been updated:
  • Sage Pay Direct v3.0
  • Sage Pay Form v2.0
  • Sage Pay Server v2.0
The following modules are being introduced:
  • Sage Pay Cards Management Page (content module)
The modules can be downloaded separately for existing stores at:



The following modules have been updated:
  • Authorize.net Server Integrated Method (SIM) v2.0
  • Authorize.net Advanced Integration Method (AIM) v2.0
The following modules are being introduced:
  • Authorize.net Direct Post Method (DPM) v1.0
The modules can be downloaded separately for existing stores at:



The following modules are being introduced:
  • Stripe.js v1.0 (payment module)
  • Stripe Cards Management Page (content module)
The modules can be downloaded separately for existing stores at:



The following modules are being introduced:
  • Braintree v1.0 (payment module)
  • Braintree Cards Management Page (content module)
The modules can be downloaded separately for existing stores at:



The following modules have been updated:
  • WorldPay Hosted Payment Pages v2.0
The modules can be downloaded separately for existing stores at:


General Updates

This release also includes the following general updates:
  • Orders can now be blocked when no defined shipping rate is available for the destination
  • Session management improvements
  • Payment Acceptance box introduced
  • jQuery libraries updated
  • and minor bug fixes and improvements

osCommerce Online Merchant v2.3.4 can be downloaded in full and update packages from:


Thank You!

We'd like to thank the community for their feedback on our releases. In addition, we thank the following people who participated in the development of this release.Reference

The osCommerce Online Merchant release notes and upgrade guides can be found at:


#1749808 2.4.0beta Pre-Package Release Status

Posted by Harald Ponce de Leon on 11 November 2016 - 07:24

v2.4.0beta has been tagged at Github! Release will be pushed out today!

#1748169 Addons

Posted by azpro on 04 October 2016 - 19:23

Hi All!


As we all know .. the simple well-coded add-ons Gary @burt makes are worth lots-and-lots more than £3.50! Even if you don't use them - they are great learning stuff for coding standards.


So I strongly ask - especially shopowners who benefit from Gary's oSC BS work (like I do) - to step up and pledge at least 10-folds of £3.50.


Move the project Forward and spend a few dollars/pounds/euros!





#1747049 2.4 Series

Posted by Harald Ponce de Leon on 26 August 2016 - 12:37

Well it says nothing on what happens to BS
Why keep it so much a secret?... 2.4 is on github and so it 2.3... but the last updated times does not make much sense

The v2.4.0 series is built from 2.3.4BS EDGE. It is taking the work you have all done and making it an official release. The major difference is the addition of the framework and App implementations, and an updated Administration Dashboard interface (also based on Bootstrap).

If you are running on 2.3.4 BS then you are expected to upgrade to v2.4.0 once it is production ready. A compatibility module will exist to help with the upgrade.

If you are on v2.3.4 (official release) then you have the option of staying on that version until the to-be-announced end-of-life date is met, before upgrading to a newer v2.x or v3.x release.

Don't panic.

#1702157 Categories Menu with multiple subs in the header navbar

Posted by De Dokta on 18 July 2014 - 13:04

I have long been looking for a way to integrate the categories menu with multiple sub categories into  the header navbar, but I always failed to embed the appropriate code into the category_tree.php.  :(  With the help of the code gadlol has recently posted, some JS and CSS I have now found a way without changing the category_tree.php.
Looks like this:
Attached File  collapsed.jpg   30.39KB   55 downloadsAttached File  desktop.jpg   50.25KB   55 downloads
How it works:

 In includes/functions/html_output.php add a new function:

function tep_show_tree($root_id = 0,$mainUlClass='dropdown-menu',$submenuUlClass='dropdown-menu sub-menu'){
    global $languages_id,$cPath_array;
    $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");
    $items = array();
    while ($categories = tep_db_fetch_array($categories_query))  {
        $items[$categories['categories_id']] = array('name' => $categories['categories_name'], 'parent_id' => $categories['parent_id'], 'id' => $categories['categories_id']);
    if($citems<=0) return '';
    elseif($citems==1) $children[] = $items; //in case we have one category item without subcategories, rare but possible
    else foreach( $items as $item ) $children[$item['parent_id']][] = $item;
        $loop = !empty( $children[$root_id] );
        $parent = $root_id;
        $parent_stack = array();
    $html=array();//store html code
        $stack=array();//helper array so to know the current level
    $pic=''; //products_in_category string
        $html[]='<ul class="'.$mainUlClass.'">';
        while ( $loop && ( ( $option = each( $children[$parent] ) ) || ( $parent > $root_id ) ) ){
            if ( $option === false ){
                $parent = array_pop( $parent_stack );
                $html[] = '</ul>';
                $html[] = '</li>';
                array_pop( $stack );
            }elseif ( !empty( $children[$option['value']['id']] ) ){
                  $rt=$root_id>0 ? $root_id.'_' : '';
                  $cpath_new=count($stack)<=0 ? 'cPath='.$rt.$option['value']['id'] : 'cPath='.$rt.implode('_',$stack);
                $html[]= '<li><a class="trigger right-caret" href="'.tep_href_link(FILENAME_DEFAULT, $cpath_new).'">';
          if (SHOW_COUNTS == 'true') {
            $products_in_category = tep_count_products_in_category($option['value']['id']);
            if ($products_in_category > 0) {
              $pic='&nbsp;(' . $products_in_category . ')';
          if((isset($cPath_array) && in_array($option['value']['id'], $cPath_array))){
            $html[]=stripslashes($option['value']['name']) . $pic;
            $html[] = '<ul class="'.$submenuUlClass.'">';
                $parent = $option['value']['id'];
        $rt=$root_id>0 ? $root_id.'_' : '';
                $cpath_new= count($stack)<=0 ? 'cPath='.$rt.$option['value']['id'] : 'cPath='.$rt.implode('_',$stack).'_'.$option['value']['id'];
                $html[]= '<li><a href="'.tep_href_link(FILENAME_DEFAULT, $cpath_new).'" >';
        if (SHOW_COUNTS == 'true') {
          $products_in_category = tep_count_products_in_category($option['value']['id']);
          if ($products_in_category > 0) {
            $pic='&nbsp;(' . $products_in_category . ')';
                if (isset($cPath_array) && in_array($option['value']['id'], $cPath_array)) {
     $data = '<li class="dropdown">' .
             '<a class="dropdown-toggle" data-toggle="dropdown">' . HEADER_CATS . '</a>' .
               implode($html) .
      return $data;

includes/footer.php add:

<script type="text/javascript">
    $(".dropdown-menu > li > a.trigger").one("click",function(e){
        var current=$(this).next();
        var grandparent=$(this).parent().parent();
            $(this).toggleClass('right-caret left-caret');
        grandparent.find('.left-caret').not(this).toggleClass('right-caret left-caret');
    $(".dropdown-menu > li > a:not(.trigger)").one("click",function(){
        var root=$(this).closest('.dropdown');
        root.find('.left-caret').toggleClass('right-caret left-caret');

user.css add:

.dropdown-menu>li /* To prevent selection of text */
{   position:relative;
    padding-left: 5px;
    -webkit-user-select: none; /* Chrome/Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+ */
    /* Rules below not implemented in browsers yet */
    -o-user-select: none;
    user-select: none;
.dropdown-menu .sub-menu
    left: 100%;
    position: absolute;
    top: 0;
    margin-top: -1px;
 {  content:"";
    border: 5px solid transparent;
    border-top: 5px solid transparent;
    display: inline-block;
    height: 0;
    vertical-align: middle;
    width: 0;
.right-caret:after {   
    border-left: 5px solid #ffaf46;
.left-caret:after {
    border-right: 5px solid #ffaf46;

in includes/header.php after:

<?php echo '<li><a class="store-brand" href="' . tep_href_link(FILENAME_DEFAULT) . '">' . HEADER_HOME . '</a></li>'; ?>


<?php echo '<li>' . tep_show_tree() . '</li>'; ?>

or somewhere else where you like it!

includes/languages/english.php add:

define('HEADER_CATS', '<i class="glyphicon glyphicon-cog"></i><span class="hidden-sm"> Categories</span> <span class="caret"></span>');

or any other glyphicon.


I tested it with Mozilla 30. IE 8, Chrome and Opera - seems to work properly in full and collapsed size. 


Hope you enjoy it!



#1748153 Addons

Posted by burt on 04 October 2016 - 09:49

Now and then I make addons.  Some of these I will release in return for a set donation towards the Responsive Project.


How does it work?  


I will make a post on my blog.  The blog post will include the details of the addon, along with a link to the Donation Button and the amount of donation.  The pertinent info will also be included in each reply to this post.


Let's see how this goes. 




Donations made are for your use of the addon in a personal or commercial site.  The addon does not get added to the Core.

I am forced to sell code to pay for my time to move osCommerce forward :(

#1736993 LetsEncrypt Free SSL/HTTPS Certificates

Posted by Harald Ponce de Leon on 06 December 2015 - 06:32

Hi All..

If you're interested in a free SSL/HTTPS certificate for your site, the LetsEncrypt initiative have just entered beta and are now providing the certificates publicly.

Information about LetsEncrypt is available at:


Setup documentation:


Our online demonstration site is now completely running through a supplied certificate - if you'd like to test it for browser compatibility please take a look at:


All of our websites will eventually be updated to be served over a secure https connection.

Kind regards,

#1712985 How to build a content module

Posted by PupStar on 18 January 2015 - 15:16

This brief guide is for anyone who wants to make their own content module.


The code below shows how to make a 'Call to Action' module as inspired by the template made by Gary




This particular call to action module displays a checkout message in the header when there are products in the shopping cart prompting the user to finish their order.


Step 1.

Create a file in catalog/includes/modules/content/header called cm_header_call_to_checkout.php and add the following code to it:


  osCommerce, Open Source E-Commerce Solutions

  Copyright (c) 2014 osCommerce

  Released under the GNU General Public License

  class cm_header_call_to_checkout {
    var $code;
    var $group;
    var $title;
    var $description;
    var $sort_order;
    var $enabled = false;

    function cm_header_call_to_checkout() {
      $this->code = get_class($this);
      $this->group = basename(dirname(__FILE__));


        $this->enabled = (MODULE_CONTENT_HEADER_CALL_TO_CHECKOUT_STATUS == 'True');

    function execute() {

      global $PHP_SELF, $cart, $currencies, $HTTP_GET_VARS, $request_type, $currency, $oscTemplate;


      if ($cart->count_contents() > 0) {

      $call_to_checkout .= '<div class="alert alert-danger text-center call_to_checkout" role="alert">' . sprintf(TEXT_CALL_TO_CHECKOUT, $cart->count_contents()) . '&nbsp;&nbsp;' . tep_draw_button(IMAGE_BUTTON_CALL_TO_CHECKOUT, 'fa fa-thumbs-o-up fa-lg', tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'), 'primary', NULL, 'btn-success') . '</div>';

      include(DIR_WS_MODULES . 'content/' . $this->group . '/templates/call_to_checkout.php');
      $template = ob_get_clean();

      $oscTemplate->addContent($template, $this->group);

    function isEnabled() {
      return $this->enabled;

    function check() {

    function install() {
      tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Call to checkout Module', 'MODULE_CONTENT_HEADER_CALL_TO_CHECKOUT_STATUS', 'True', 'Do you want to enable the call to checkout Box content module?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
      tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Content Width', 'MODULE_CONTENT_HEADER_CALL_TO_CHECKOUT_CONTENT_WIDTH', '4', 'What width container should the content be shown in?', '6', '1', 'tep_cfg_select_option(array(\'12\', \'11\', \'10\', \'9\', \'8\', \'7\', \'6\', \'5\', \'4\', \'3\', \'2\', \'1\'), ', now())");
      tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_CONTENT_HEADER_CALL_TO_CHECKOUT_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");

    function remove() {
      tep_db_query("delete from configuration where configuration_key in ('" . implode("', '", $this->keys()) . "')");

    function keys() {

Step 2.

Create a file in catalog/includes/modules/content/header/templates called call_to_checkout.php and add the following code to it:

<div class="header col-sm-<?php echo $content_width; ?>">
  <?php echo $call_to_checkout; ?>

Step 3.

Create a file in catalog/includes/languages/english/modules/content/header called cm_header_call_to_checkout.php and add the following code to it:


  osCommerce, Open Source E-Commerce Solutions

  Copyright (c) 2014 osCommerce

  Released under the GNU General Public License

  define('MODULE_CONTENT_HEADER_CALL_TO_CHECKOUT_DESCRIPTION', 'Adds a call to checkout action into the Header Area of your site.');

Step 4.

Add the following to catalog/includes/languages/english.php

define('TEXT_CALL_TO_CHECKOUT', '<i class="fa fa-flag fa-lg"></i>&nbsp;&nbsp;You have %s item(s) in your shopping basket, click to proceed through the checkout');

Then all you need to do is go to your admin and install the module, select the width and the sort order


Hopefully this will give people ideas on how to create further content modules.



#1712465 Bootstrap 3 in 2.3.4 - Responsive from the Get Go

Posted by burt on 08 January 2015 - 13:05

Milestones are now complete, there will be no more core code changes.
Future changes:
1.  Bugfixes in our implementation of Bootstrap
2.  Updates to external libraries (eg if Bootstrap release a new version)
3.  Mirroring the path of the 2.3 series.
If you believe you have found a bug in our implementation of Bootstrap please post in this new thread.

  • Thank you to all Testers - you've done a great job.
  • Thank you to all Contributors - these are the guys you should approach if you need modules created, or site designs or anything else that you cannot manage yourself.