Published by Mijingo

movie icon image

EE Insider Blog

Spend your time learning and developing sites with ExpressionEngine and we'll use this blog to keep you informed of all the news related to ExpressionEngine and CodeIgniter.

» Read more in the Archives.

» Have a tip? Send us your EE news.

Learn ExpressionEngine Today

Over a series of 8 videos, watch and learn as Ryan builds an entire ExpressionEngine website from beginning to end. Get started now.

Cartthrob Released

As of today Cartthrob, the latest venture in e-commerce for ExpressionEngine, is released and available for purchase. Cartthrob was developed to be as flexible as possible while still allowing you to control your inventory and e-commerce site with ExpressionEngine.

I exchanged a few emails with Chris Newton of Cartthrob and asked for his take on the new release.

Let’s first talk about the flexibility. Chris says:

CartThrob forces very little on the developer, there are very few strict rules on how things have to be built. For EE people this will be a godsend… we’re already used to getting it our own way with EE, and that is the spirit of our development efforts with CartThrob.

Rather than the typical feature-benefit focused cart approach: “your product must have a title, price, this option set, two pictures, and a shipping weight, ” CartThrob lets you create your store however you’d like. You can store data in weblogs in whatever format suits you, repurpose existing weblogs, or just hardcode product data in the templates. Most carts assume a structure and flow for a customer’s business, CartThrob doesn’t.

You can get an idea of what Cartthrob can do by reviewing the example uses they posted in the documentation. Donation site, simple t-shirt sales interface, integration with third party shipper are all things you can do with Cartthrob.

And all of this uses the regular weblogs or channels in EE (watch this video for details on how to set up weblogs for products). This means that even your existing EE add-ons should play nicely with Cartthrob.

Chris again:

Another nice feature is that CartThrob, once configured is not something your client even need be aware of. Once set up, all of the Items, Orders, and Purchased Item data can be stored in weblogs. It’s not some custom interface that the client will have to learn.

Mapping custom fields to Cartthrob

If your preferred payment gateway isn’t supported, you can create your own to interface with Cartthrob. The documentation has an example gateway that you can use as a guide when building your own.

Cartthrob is currently only available for ExpressionEngine 1.6 but they are going to start working on the EE 2 version soon.

Posted on Apr 08, 2010 by Ryan Irelan

Filed Under: E-commerce, EE Add-ons, EE Extensions

Mike11:44 on 04.08.2010

It definitely looks awesome! I hope it ends up performing as good as it seems.

Alex Kendrick17:03 on 04.08.2010

It is great to have a flexible, totally EE option.  As soon as carrier-calculated rates are supported I am switching to CartThrob!

mahuti07:00 on 04.09.2010

Tell us which Carriers you want. The plugins are pretty easy to create, and we’re in the middle of deciding the next group that get built right now.

runaway09:08 on 04.09.2010

I buy yesterday, I dont test yet, but looks great! I hope that performance be the same.

Alex Kendrick09:25 on 04.09.2010


That is great to hear. It would be nice to have plugins for these carriers (listed in order of preference): UPS, FedEx, USPS.

mahuti09:35 on 04.09.2010

UPS is almost done. FedEx is next on the list. We have to make an internal change to CartThrob to do the UPS type systems with door to door calculations. We need both a destination and origination location… something our shipping plugins don’t have at the moment. I think Rob’s already built in some support for this, but we need to take a moment to review what had been done to this point.

mahuti09:41 on 04.09.2010

For what it’s worth, most of these types of companies; shipping, and payment gateways have APIs that basically take data, and return a response. The complicated work is in a few spots 1. making client editable settings. 2. gathering the website customers data, 3. converting it 4. sending the data, 5. receiving the data, 6. parsing the data.  These items are all very streamlined with CartThrob. Most of the work left over is in getting a gateway dev account from FedEx or whoever, and reading the documentation.

Admittedly still a pain, but at least with CartThrob it’s been downgraded from near impossible to just relatively annoying.

As we continue to add more and more gateways I’m sure we’ll refine this process further. We’re hoping that our efforts in this area make CartThrob a good solution regardless of client needs, and location.

Alex Kendrick09:43 on 04.09.2010

Awesome.  Thanks, mahuti. 

Any chance you plan on supporting a “shipment notification” feature that sends a carrier tracking number?  That would be huge.

mahuti09:46 on 04.09.2010

It’s a bit complicated there, and depends on the shipper. I’ll tell you though, we use CartThrob for our own clients and they ask and ask and ask for automation in their businesses. We know how important it is, and we will continue to refine in this and other areas. As I mentioned, we’re compiling a list of next steps. I’ve added this to the feature request list.

cartfrustrated06:07 on 07.09.2010

I have Cartthrob and am a bit frustrated that there is so much documentation about “how awesome Cartthrob is” or “how configurable” and so on…and very few actual HOWTOs.  Many of the “Click Here for a Video Tutorial” don’t go to video tutorials, and the tutorials themselves are mere walkthroughs of the default screens, much of it simply mousing over the fields and restating the existing documentation.

I want to use Cartthrob to make a site that offers 1) downloads of a file and 2) accepts donations.  Trying to find any example code, step by step walkthroughs, or anything about this is proving impossible.  Are there any actual walkthroughs that tell newcomers how to set up a donation site?

So far I’m impressed with Cartthrob’s possibilities and pretty underwhelmed by the documentation and explanations.  I don’t want to know that XYZ is possible—I want to know how to actually DO it.

mahuti06:24 on 07.09.2010

The auto-install templates contain sample code and documentation for both a download, and a donation site.

As well, we’re very active in our forums, and do what we can to support users questions and problems. Please let us know if there’s any further information we can provide, and we’ll do so. We generally go to great lengths to be as supportive and helpful as we can.

That said… nobody’s perfect. Though we have about 100 pages of documentation available, daily we find additional subjects to cover. In this case it would probably be a good idea if we duplicated and expanded the template code into some articles with additional content and screenshots.