Compare Products Side By Side

I’ve been spending a lot of time recently looking at other shopping cart software, particularly Magento and Opencart and Prestashop to see how they’ve gone beyond “here’s a product, here’s a buy button”.

In Magento and Opencart I particularly like their “compare this product to this product” feature, where the person browsing the shop can add 2 or more products and then see those products listed on a page with their specifications and so on. Pretty much it’s a nice way to allow the customer to decide if they would like to purchase prodcut A or product B easily…

In Magento


In Opencart


As you can see, the products are side by side ready for the shopper to make a buying decision. We don’t have this in osCommerce other than some older addon that I don’t want to use.

So I set out to create something like these. I pretty much based it on the Magento one as the Magento product compare also has a nice little infobox which I particularly like;


I started the modifications late last night, it took some thinking about, but pleased to say that I have something workable – it needs more polishing (which is where you guys come in)…

In osCommerce


How does it work ?

Adding a Product to the Compare List..

On each product page (and product listings) there is a new button “Compare”.


Clicking this button adds the product to the compare list. This also invokes a new infoBox:


In the infoBox is a link to the actual “Compare Products” page as shown above.

Removing a Product from the list..

A product can be removed from the list in the following places; the new infoBox, the product listing page, the product page, the compare products page.

Invitation to test the new system

If you want to have a play with the system, hit my test shop. Let me know your thoughts by responding to this blog post. Thanks.

Stuart Template for osCommerce

My latest template can now be seen here. I’ve called it “Stuart” after the comic book guy in Big Bang Theory.


As you can see it is a “minimal” theme ready for you to build on in any way you wish. The side column infoboxes can of course be added back in should you wish and colour scheme is very easy to change.

Header Area

Very minimal, with a custom coded Cart and Buttons to “create account” and “login”, and of course when logged in “view account” and “log off”. Notice also that the cart icon changes when a product is placed into the cart, and the checkout link becomes “active” as well – have a look by placing a product into the cart.

Main Content Area

I have recoded the “new products” module from scratch to utilise a more semantically correct “list” of products. Buttons can of course easily be made smaller, just by amending 1 line of css code.

In the product page, I have removed the “bx gallery” in favour of a custom coded gallery which gives better results in my opinion (example; you can click on the main image or any of the thumbnails).


I have used a custom font which I believe looks good. This is very simple to change if you do not like it.

Footer Area

Contains a nice looking “social” box as well as a redesigned listing of categories, information, contact details and so on.

Final thoughts

As you can see the Stuart template is quite a departure from the normal osCommerce look and will make your site look very professional inside 30 seconds – as that is how long it takes to install on a new osCommerce (will also work with any version of osCommerce from 2.3.1 onwards).

My overall idea for the template is to take away the “clutter” of normal osCommerce, and instead concentrate solely on the products you are selling.

Have a look, and if you are ready to take your shop to the next level by installing this template (or indeed any of my other templates), go to my osCommerce Templates site and press the buy button (it’s only £16, about $25usd).

Mailing List and wrap up 2013

In 2014 I’ve resolved to write at least a few posts per month on the blog. Now that I’m on the osCommerce Team I can share lots of interesting tidbits.

Member of the Year

If you are on the osCommerce forum, please cast your vote for Member of the Year 2013 at

Brand New Template

I’m about to release my latest template, which is a minimal template called “Stuart”.  Here’s a sneak preview:


Please join my Mailing List

In 2014, I’m going to be emailing once per month, not more – and each mail will contain interesting news, maybe a special offer, maybe some free code that no-one else gets. You can sign up by inserting your email address into the form below and click “subscribe”. Nice and easy. It’s a Mailchimp list so if you subscribe, you can easily unsubscribe should you wish to.

And lastly, best wishes for 2014.

Stock Tracking via Options and Attributes

This is a follow up article to

Today we are talking about an extension to the attributes and options system which we call “attribute sets”. What we have set out to do is to better utilize the built-in attribute system of osCommerce.

Something that many shop owners deal with is that they need to not just keep an overall stock count for an item but they also need to keep a stock count for different options for the product.

Let’s say you have an item (T-shirt) and that item has a colour attribute and a size attribute. Normally you would end up with two drop down menus, one being for colour (red, blue) and one being for size (medium, large) which the customer would then use to choose the options they needed for the item.


However, what you have in stock is this:

2 x Red Large
2 x Blue Medium

Using the usual options/attributes dropdowns, a customer could easily select “Red and Medium” which you don’t have in stock. Ends up being a waste of time for you and a very annoyed customer who will probably want a refund, an apology and won’t shop with you again. That’s a bad thing…

With some radical (yet well coded) changes to the options system, Matt and I have enabled a system that allows the Shopowner to show options in a different way and keep track of stock. It looks like this:


As you can see, the options are shown in a different format, including the SKU and Stock. Now a buyer can only order exactly what you have in stock. Stock is reduced not only on the overall product (the Tshirt) but also on the available SKU (of the options). If I check out by purchasing a “Blue Medium” I will show what I mean (note that we presently have 2 Blue Medium in stock, and overall quantity of 4 Tshirts). After the purchase:


Stock has reduced to 1, and overall stock of the T-shirt has reduced to 3:


So, in this way stock can be maintained using the usual osCommerce attributes and options (with our extension). In addition to this, in the admin orders page and invoice page the “model” is made up of the model number of the overall product along with the SKU of the chosen option:


Forget about master and slave products.
Forget about QTPro.
Attribute sets are a non-invasive way to control inventory at the attribute level.

And a video to illustrate the system from start to finish…

Should you wish to enquire about this new system, please feel free to contact me on or Matt via

How to send a Product Notification in osCommerce

osCommerce has a few “well hidden” features that not many people are aware of. One of these is the ability for the logged in customers in your shop to sign up for product notifications (eg, when a product is back in stock, or if you add another size or colour range or whatever).

The subscribe link is in an infoBox and in a standard install looks like this:

infobox showing product notification

This would subscribe the logged in customer to notifications about that particular product. Fairly straightforward so far.

How do you send a product notification email?

In the admin area, go tools > newsletter manager, then click + New Newsletter. In the following page, select product notification from the dropdown, and insert the title of the email and the email contents:


Click save. You are now back at the Newsletter page, and the new product notification Newsletter is showing in the list. You can preview the Newsletter if you wish. Click the lock button. Once locked, you now have extra options available to you. You can delete it, edit it and so on.

Press the send button. This takes you through to the page where you select the product(s) that you wish to email about (to those who have signed up for emails).


I select “courage under fire” and press the >>> button. This move the product to the selected box. Once I am happy, I press the send button and am taken to a new page where I am shown the number of customers to receive the newsletter and a preview of the newsletter itself;


If I now press “send”, the email is sent to those on the list.


As you can see, the system is workable if a little long-winded. It is also limited to registered customers within your shop, which is not ideal. – bugfix release

New osCommerce Release – a bugfix release of 2.3.3, which is designated

This solves a few important bugs in 2.3.3, namely;

  1. Who’s Online
    • Parse REQUEST_URI with tep_db_prepare_input() before storing the value in the database.
    • Replace REMOTE_ADDR with tep_get_ip_address().
  2. Administration Tool -> Catalog -> Categories/Products
    • Fix product price gross tax calculations when adding or editing products.
  3. Sessions
    • Register a shutdown function to close and write the session data.
  4. tep_redirect()
    • When redirecting from HTTPS -> HTTP and replacing the url with a HTTPS
      version, also take DIR_WS_HTTPS_CATALOG into consideration which may differ
  5. Session
    • Also check for and allow , (comma) and – (minus) characters in the session ID.

If you are presently at 2.3.1, you need to make the following updates; 2.3.2, 2.3.3,
If you are presently at 2.3.2, you need to make the following updates; 2.3.3,
If you are presently at 2.3.3, you need to make the following updates;

You must ensure to do the updates in the correct order, to ensure that your shop files and database match. If they do not match, some parts of your website will cease to function.

Should you wish to have a quotation on updating from 2.3.1 or 2.3.2 or 2.3.3 to – please email me on (let me know which version osCommerce you are presently using: admin > tools > version checker and I will get back to you within a few hours. If you are on a very old version of osCommerce (the 2.2 series), I can still update you to – get in touch.

Ultra flexible shipping module

Had a request from a long time client who needed a new shipping module where he could;

1. Set up a number of zones (in each zone is a group of countries)

2. For each zone have 5 input boxes;
a. First X Kgs
b. The cost for first X kgs
c. Next Y Kgs
d. The cost for the next Y kgs
e. Handling cost

So, the shop-owner can now say (remember all in 1 module);

For US and Canada charge:

5 for any weight up to 3kgs
+ 1.40 for every extra 1kg or part thereof
+ 4.00 handling charge

For UK charge:

10 for any weight up to 2kgs
+ 2.00 for every extra 1.3kgs or part thereof
+ 0.00 handling charge

For Australia charge:

0 for any weight up to 2kgs
+ 0.00 for every extra 2kgs or part thereof
+ 15.00 handling charge

Taking a order weight of a total of 6kgs, these would result in quotes of;

US: 5 + (3*1.40) + 4 = 13.20
UK: 10 + (3/1.3 * 2) + 0 = 16
AU: 0 + (0 * 2) + 15 = 15

As you can easily see, the system is quite flexible allowing a mix of systems from a flat fee (the AUS example) to more complicated structure such as can be see in the USA example.

All in all, a nice little modification that should help the shop owner to offer a more competitive shipping fee structure, leading to less dropout of buyers.

New Templates – the only osCommerce certified provider of 2.3 templates

Now have a few osCommerce Templates available at osc Templates, all priced very low – just £16 (about $25). Take a look. You might find one that suits your needs. Remember that all these templates can be changed in any way you wish to better reflect your site.

All the Templates are instantly downloadable, and super simple to install – most take not more than 5 minutes from paying via Paypal to being live on your site!!

osC Templates is the only certified provider of 2.3 templates…

Special Offer

Buy a Template and get a FREE eBook. Buy any of the Templates listed and choose any one eBook from osc Books entirely free OR choose a free installation of the template you bought. Easy as 123 – buy the template you like and then get in touch to let me know if you want an eBook or an install.

Offer expires at some point during August, so make that buying decision sooner rather than later!

Free Taster eBook and Mailing List and News

Free Taster:

If you’ve been umming and aahing about spending a tenner on my design for 2.3 eBook – then have a download of the free taster ebook. If you like the style of writing, maybe you’ll go ahead and purchase the full ebook…

Free Taster eBook

Mailing List:

I’ve also started up a mailing list for buyers of my books and templates. I’m going to use it for making purchasers aware of updates to existing books/templates and any new releases I make. Subscribers will also be sent freebies at least once a month. It costs nothing to sign up – all you need to do is download the free taster (or any of my other free ebooks) and you’ll be able to sign up.

In other News:

I’m now on the osCommerce Team. After more than a decade using osCommerce, it’s the start of a new direction for osCommerce, based on ideas given by the user community, so if you would like to comment on how you would like to see osCommerce evolve over the coming months, here’s your chance.

Add Large Image (link) in Admin

How to make the “add large image” link more prominent. In a standard osCommerce, the add large image link looks like this;


It’s the tiny line of text with a blue cross. I get quite a few emails a month regarding this, as it’s not obvious to see it. So, let’s make it look more like this:


That is obviously a lot better looking and of course the style would change if you changed the main UI theme.

Open up categories.php and find:

<a href=”#” onclick=”addNewPiForm();return false;”><span class=”ui-icon ui-icon-plus” style=”float: left;”></span><?php echo TEXT_PRODUCTS_ADD_LARGE_IMAGE; ?></a>

Change to:

<span class=”tdbLink”><a href=”#” id=”add_image” onclick=”addNewPiForm();return false;”><?php echo TEXT_PRODUCTS_ADD_LARGE_IMAGE; ?></a></span>
<script type=”text/javascript”>$(“#add_image”).button({icons:{primary:”ui-icon-plus”}}).addClass(“ui-priority-secondary”).parent().removeClass(“tdbLink”);</script>

In case the blog messes up the code, you can find the change at pastebin also. Enjoy.