Shop Software Review: OpenCart

tom Tom, 7th October 2010

OpenCartI was recently asked to quote for making a few improvements to an OpenCart shop. OpenCart wasn't a package I'd customised before, but as I always like to keep abreast of the latest software packages for use on clients sites, I thought I'd spend a little time having a play around with it and see how easy it was to develop on.


My first impressions were pretty good, their website is attractive and simple to use. I downloaded the latest copy of the open source shopping cart software, and followed the online installation instructions. Having setup many, many different online software packages in my time, I have to say this probably ranks about a 7/10 for 'ease of installation'. I had no problems at all:

i) Unpack the files
ii) chmod some directories

iii) Setup a database
iv) And follow the onscreen installation instructions.

However it wasn't quite as slick as the Wordpress installation which is so easy it's just silly.

The Code

The code itself seems well organised and thought through. It's all based on an MVC framework, so if you're familiar with that pattern of software development, you'll immediately feel quite at home here. If you're not an MVC programmer, then it might be a little confusing as first.

Creating Extensions

Extensions are the small boxes which can be customised to appear in either of the 3 columns of the template. Their position, type, etc can be controlled through the admin interface.

I couldn't find any documentation on the OpenCart website which explained how to create your own extension, so I downloaded an existing freely available extensions which most closely matched my needs. This told me that I need to create new controller and view files for both the user and admin interfaces.

Further Customisation

Another customisation I was asked to look into, was the ability to search between specific price points, I.e. The ability to enter a minimum and maximum price for items. Unfortunately due to the slightly limited search options available by default, this involved updating the core application code itself, most specifically the model used when searching. While not a problem in itself, I would be concerned about this code being overwritten if the site was ever upgraded, so an alternative solution might be to create a standalone replacement model for searching the site, and reference this from the controller instead.

Final Thoughts

All in all I'm fairly impressed with OpenCart. I found it interesting to learn and it feels 'clean' to develop with. While I feed the code is slightly 'specific' in some regards, it's also very accomplished in many more. Whilst I can't comment from the shop owners point of view, and I've only really scratched the service, I would be very interested in exploring this software more in the future.

Visit to learn more or contact us to discuss our Opencart customisation service.

More from our blog

Podcast: Mastering Continuous Improvement Through Agile Development

Podcast: Mastering Continuous Improvement Through Agile Development


Earlier this month I was asked to be on a panel for the latest Evolution podcast, where I sat with other tech leaders to discuss… Read →

All there in black and white - or full colour: a new home page for Jericho Writers

All there in black and white - or full colour: a new home page for Jericho Writers


We've been working with Jericho Writers for a few months now, getting to know their very complicated WordPress membership site. If you're not familiar with… Read →

Have yours on the rocks: Moments on Mendip

Have yours on the rocks: Moments on Mendip


In July we told you how we're helping Leeds University with their Dialect & Heritage project. Meanwhile August saw the launch of Mendips AONB's Moments on… Read →