Hands on with Zen Cart
is a PHP/MySQL open source shopping cart. It is completely free, and comes with
source code which you can freely modify. The software is developed by a
community effort. The code is based on the popular
shopping cart. The goal of the Zen Cart project is essentially to make an easier
to use version of
which can be installed more quickly, modified more easily and have a more usable
configuration out of the box. Being a community
effort, many of its users are very passionate. I expect a small group of them
will disagree with anything negative said about Zen Cart, be it correct or not,
so I may incur their wrath at some points in this review.
This review is based on my experiences while creating an online shop for a
client using Zen Cart. As every shop has its own unique needs and requirements,
your experiences will vary.
InstallationInstallation was fairly straight forward. I did get confused once or twice
and have to manually tweak one or two files, but I suspect most people will have
a smoother experience than I did. As usual, just create your MySQL database
first and have the details handy.
Initial ImpressionsAs with most shopping carts, it comes with an out of the box skin and
configuration. This seemed to be serviceable, although the skin wasn't terribly
attractive and it seemed like a lot of options were turned on, making the interface a bit cluttered for my liking. This is a minor problem, as the various
modules are easily turned off.
The administration interface is reasonably well laid out and is attractive
enough, although the number of options is overwhelming. It was hard to know
where to start to set things up as there are so many options, which is a mixed
SkinningZen Cart ships with a few skins, there are more available for free
and commercially. My client had very specific design requirements, and so I
needed to get deep into the skinning. Frankly, I was disappointed. If you want
to make superficial changes - maybe change the color, the font, the logo, the
module headings, etc, then it would be a fairly painless experience. If you want
to get deeper into the skinning, expect a significant battle and some mid-level
PHP skills required. Skinning is such a fundamental concept I don't think it
should be this hard. For example, one requirement was that some
modules have a unique appearance. By default, Zen Cart requires all modules in a
column look identical. While I managed to work around this, it was time
Changing text that appeared in the user interface was relatively easy in
most cases, although sometimes some hunting was required, it certainly wasn't
nicely centralized. The admin interface even comes with its own search tool to
help find files, demonstrating how common this problem is. The folder structure
seems confusing and I found it hard to locate the right file. I'm sure there's a
reason for the structure, but I couldn't work it out and haven't experienced this
problem with other shopping carts or similar products.
Product ManagementThere is a wide range of product options. Creating a product via the web
interface is relatively straight forward, and there is a free add on called
"Easy Populate" for those wanting to create their products in bulk. I didn't
bump into any product features that couldn't be handled in a default install.
For instance, product reviews, stock management and automatic thumbnail creation
were all handled easily and out of the box. I did struggle to find out where to
change some of these options - once again, the administration interface is a
little overwhelming and not always clearly labeled. As an example, my client
didn't want stock levels showing for products, and it took some hunting to find
Payment, shipping & taxesThere is a wide range of payment gateways available for Zen Cart. Only a few
are installed by default, but many more are available for download. Installing
new payment modules (or other modules) is a relatively pain free experience, and
while it could be simplified further, is definitely better than most. There is
no cutting and pasting of code, simply a matter of copying a few files into the
right places. There's a good chance your payment gateway of choice is supported
by Zen Cart.
I was impressed with the shipping module. There is a very flexible range of
options, but despite it's power, it's relatively easy to use. All the options
you'd expect - shipping by weight, by number of products, flat rate, etc, are
all easily supported. Your shipping requirements would have to be quite unusual
to not work in a default install. Management of taxes was similar, flexible and
easy to use, with support for different regions. Configuring taxes was similarly
An area that could be improved is the checkout process. This process is
critical to minimize shopping cart abandonment, and while not bad I felt it
could have been made easier. My biggest objection was that it was unclear to the
customer when payment was to be handled. While most Zen Cart shops will probably
be using a third party payment processor such as
2CO or Paypal where payment is handled
on an external site, in the mind of the customer this is still part of the
entire payment process, where as Zen Cart gives the customer the impression that
payment is a completely separate step. The Zen Cart developers could take some
tips from other products such as
who handle this process much more smoothly.
ReportingAll the reports you expect to see are found out of the box. Sales, most
popular products, customers, order status, etc, are all available. There isn't
any highly sophisticated reports such as sales by search keyword, but that's not
found in many expensive carts either. The conclusion on reporting: don't expect
in depth analysis, but you should have all the essential information needed for
day to day running.
SupportBeing a free product, there is no formal support. You basically have 3
options. Look through the source code and work it out yourself, post to the
forums and hope for the best, or pay someone to sort it out for you.
I found the source code for Zen Cart to be somewhat convoluted. I tried to
make a few small tweaks and found it time consuming. Admittedly, PHP isn't my
strongest language, but I found what I saw confusing. I have comfortable hacked
other PHP shopping carts with no issues. You'll need to be at least a mid-level
PHP coder in order to be able to work through the source code in a meaningful
way. There does seem to be a small range of people able to give paid help. I
requested a small modification via rentacoder, I wasn't overwhelmed with bidders
but found someone who did quality work for me at a good price.
The forums are ok. They aren't the busiest forums in the world, and one or
two questions went unanswered. The replies I received were reasonably good and
helped me with a few problems.
There is some documentation available. There is an FAQ on the web site which
did help me out with one or two questions. There is also a detailed
administrators manual available as a PDF file. It is helpful in parts, but
mostly just steps through the screens you'll come across and provides a little
bit of detail, the sort of thing that should really be done inline on the site.
There is a small "how to" and troubleshooting section, but not thorough enough
for my liking.
ConclusionOverall, Zen Cart is certainly a powerful piece of software. Zen Cart is
worth considering if your requirements are very basic and you aren't very fussy
about the look & setup of it, or if you enjoy hacking PHP and are moderately
good. However, if you want a complex store up and running quickly and cheaply,
I'd recommend thinking twice. Personally I would rather build my business and
focus on how I can increase sales than spend hours hacking PHP files (or paying
someone else to do it).
Article courtesy of Shopping Cart Reviews.