Magento vs woocommerce vs prestashop comparison

There was a time when I was working on multiple solutions, thinking positively that a lot of time spent on each of them would give me a great insight of  all possibilities that a mix of solutions could offer. And year after year, solutions evolve and some get better and easier to maintain and develop, and some not. I have been using prestashop, magento and wordpress / woocommerce for years and here is a quick review of all these solutions, from the point of view of the developer but also of the website owner, and of course of the end user. Curiously you will find that all these point of view lead to the same conclusion : wordpress woocommerce for all !

Magento / WOOcommerce / Prestashop comparison

The developer point of view

Prestashop is very simple to setup and offers a very quick configuration process, especially when you are working in France, because it is a french product. I quickly found out that developing themes, extensions and modules for prestashop is a bit strange and dodgy, and forces you to learn and maintain some strange knowledge of an extra language from the old twentieth century : smarty templating language. Just as if learning CSS, HTML, Javascript, PHP and Mysql was not enough. In my opinion, the simple fact that prestashop is using smarty shows that its developers have forgotten the original purpose of PHP. And to finish on prestashop, I have a few very good shops running on it for years, without any problem and doing good sales, but I have one problem :  I am too afraid to perform a software upgrade. don't ask me why but that's a looser solution for me.

Magento is incredibly smart. When I mean smart I mean you'll need a few months before you can even understand how to access data from the database. you need serious ZEND specific OOP knowledge and a lot of time and expertise to code Magento. And that's expensive. Yes a developer with magento expertise can earn a lot, but who pays. check that below in the website owner section.

in comparison with the truck and the pickup above,  Wordpress at first glance looks like a horse carriage. In its default distribution package, wordpress is just a blogging platform. Well that's what is was a few years ago when I started using it just for blogging. And I was developing my own e commerce package and trying various CMS platforms like Modx or silverstripe. And suddenly  Wordpress evolved to a full featured CMS platform that I integrated with MAgento and prestashop websites for serious content management those two cannot afford. And suddenly e commerce plugins came to the market. I've tried a few and my preferred is woocommerce. As a developper I just love using the same platform for content management, shopping cart, order management, online payment. And I've never felt limited by the almost perfect customisation development that wordpress integrates : themes and plugins   just illustrate the perfect division of tasks for a web site developer. If you want to do OOP like Magento, you can. But you don't have too. If you want to use Smarty like prestashop you can, but there's really no point. And if you want to develop once and reuse code in various website projects, well you can mix all aspects of a website with wordpress. That's just magic I think, at the cost of a rigourous selection of plugins that will take you more than an hour to select and install.

The shop owner point of view

It all depends which kind of shop owner you are. If you can afford one or two full time senior developers, then Magento is all right for you. If not, you will find that unless you have a good friend developer,  magento is expensive. Too expensive for my customers. But Yes it comes with a lot of features, but not more than prestashop and woocommerce. At some early stage, Magento was a leader in bulk product editing, very useful when playing with categories and products. But it's now 4 years that WordPress does that job quite well (see our article on information management with wordpress)

Prestashop is not expensive : in fact it runs very well on shared hosting. It also comes all featured, and is much easier to configure and setup than magento, but it has less customisation, especially graphic, possibilities.

WordPress is in my opinion the best compromise between cost, usability and security. as a website owner, you will, just like your developer, love the unique administration platform with drag and drop image uploading, drag and drop content management (via plugins), easy maintenance and upgrades meaning reduced administration costs. Of course this comes at a price : default worpdress installation is not e commerce ready, you need a good professional partner to set you up. After this initial step is done (finding the right web site expert), you have the guarantee of a stable platform for all your web development need : content management , advertising, product management, customer management, newsletter, etc...

The end user point of view

Yes you are building e commerce presence : the end user is the first and last contributor to your project, because it brings the finance that will ensure durability of your online project. Well I might repeat myself now but after a few years of ecommerce development I always felt very frustrated but the lack of Content Management offered by native ecommerce platforms like magento and prestashop. Now that wordpress has its own ecommerce capabilities, it is a very sensible choice to move all your ecommerce data to a single platform. And as a e commerce buyer, I like a website with a lot of information not only on products but also on the company that distributes them. WordPress offers so many layout capabilities that your online customer with feel in good company before he goes to purchase your   product.

Conclusion : woocommerce only ?

did I miss something ? are there really some unique features on magento and prestashop that woocommerce cannot perform ?


How to : integrate wordpress menu into prestashop

The wordpress and prestashop integration is a big subject : prestashop is good for selling products and wordpress is good for dealing with content. One very efficient feature of wordpress is the menu builder that allows you to build unlimited hierachical menus. We submit here a technique that hooks into the wordpress update menu event to generate a static version of the modified menu, that can be then included in your prestashop theme via easy static include.

  1. create a cache directory in your wordpress theme folder
  2. add the following code to your functions.php file
      add_action("wp_update_nav_menu" , 'poleouestMakeMenu' );
      function poleouestMakeMenu($menuId)
          $html=wp_nav_menu(array('menu'=>$menuId, "echo"=>false));
          $fileNAme= STYLESHEETPATH . "/cache/" . "menu" . $menuId .".html";
  3. once you've tested that the menu . html file is generated, include it in your prestashop template via some hack in the prestashop core. Let us know how you do it !!

Prestashop : quote module (devis)


The quote feature  is  an implementation of a shopping cart within prestashop framework, without the price : we have designed this feature for specific groups, for which we deactivate the price display on the shop.

  • Deactivating price display for specific user group (below : group 2) is a long task that involves 2 different steps
    • in init.php : set the smarty variable around line 116
      $priceDisplayConfig = intval(Configuration::get('PS_PRICE_DISPLAY'));
      if($tmpCust->isMemberOfGroup(2)) $priceDisplayConfig = 3;

      And around line 155

      'priceDisplay' => $priceDisplayConfig
    • use the smarty $priceDisplay variable in the templates to hide prices and change the "cart' (panier in french) to "quote" (devis), example from homefeature.tpl
      {if $priceDisplay<3}{l s='Add to cart' mod='homefeatured'}{else} Ajouter au devis {/if}
  • Quote / Devis module and status :
    • Download and install the "devis" module [download id="7"]
    • create the mails/devis.html and mail/devis.txt and change texts according to your business
    • create the order status "devis en cours" in BackOffice >> Orders >> statuses, check the created id (12 here) and add the following line to :
      define('_PS_OS_DEVIS_EN_COURS', 12);
    • You can optionnally deactivate the order confirmation email in classes/PaymentModule.php, line 288-290, replace the send email to customer test by adding a new condition :
      	// Send an e-mail to customer
      if ($id_order_state != _PS_OS_ERROR_ AND $id_order_state != _PS_OS_CANCELED_ AND $customer->id
      AND $id_order_state != _PS_OS_DEVIS_EN_COURS)

10 eshops built with prestashop

In spite of its remarquable popularity, Prestashop still suffers from a complex layout design that makes it quite hard to customize, especially when one  compares with the flexibility of zend framework layouts as they are implemented in Magento. This is why a shop built with prestashop often bears a strong resemblance with the default design, and designers find it hard to get away from the usual 3 column layout with rounded corners block that's presented by default. Below you'll find 10 shop sthat display a good work on prestashop, customized  to a level where  one wonders if this is still Prsetashop behind : yes  is it possible to do opensource ecommerce at a fraction the cost of setting up a Magento shop, and do it well too. It' s intersting to notice that most of these  shops share the common love for the top horizontal drop down menu.

Prestashop : How to setup thumbnail / combination link

The ability to make mulitple products out on one for size, color or other speicifications, is a great feature of Prestashop, but on small display trick is missing. Prestashop's default template (v1.1) includes the automatic resizing of multiple images for a product. It also allows the administrator / editor to specify one of the product images for each combination. As a result, the front end display of the product will let the combination select box interact with the mbig image display : here we explain how to modify the product template to let the thumbnail click act onthe combination choice.

Read more

Wysiwyg image mapping with Prestashop

Prestashop is an amazing example of very specific features that benefit large audiences : the new version 1.1 is still in beta stage but the image mapping feature is really impressive.  The objective  described in the products section of prestashop admin manager,  allows the administrator to select portions of a category image, link areas to a specific product,  all this stuff is linked to the products database, in a process that saves thousands of repetitive work  : "When a customer hovers over the image with the mouse, a pop-up appears displaying a brief description of the product. The customer can then click to open the product's full product page. To achieve this, please define the 'mapping zone' that, when hovered over, will display the pop-up. Left-click with your mouse to draw the four-sided mapping zone, then release. Then, begin typing the name of the associated product. A list of products appears. Click the appropriate product, then click OK. Repeat these steps for each mapping zone you wish to create. When you have finished mapping zones, click Save Image Map." The interface uses the jquery imgareaslect plugin and the result below proves that Rich Application Interface is not any more for the rich only.