Is it possible to create an advance eCommerce website?

Recommended Posts

Hi there community,


I'm new to this site. Basically I just discovered processwire. I was always a fan of Joomla but recently I came across a site which was designed by processwire. I looked at some of modules on processwire website but couldn't find the module I need.


I want to create a website that does the custom configuration of a product and provides product filtering.

Something similar to this site but not exactly the same.


Is there a module that can do that?


Basically the product configuration is done by checking the compatibility values between the categories, so the module need to support product tagging or some sort of value check to only display compatible products. 


Edited by kongondo
First post, suspicious link

Share this post

Link to post
Share on other sites

Hey Sam,

Welcome!  It's definitely possible to build something like that.  There's a few reasons why you didn't find an exact module for what you're trying to do.

ProcessWire is more of a development framework and toolset than a plug-and-play CMS.  It provides you easy access to a relational database, user and session management, querying, and front-end rendering through its API.  As that's the case, much of what you want to do – create product records with categories and tagging, and query those records with those fields – can be done pretty easily with native PW functionality.

A skeletal walk-through of how you might do this:

  1. Create a Product template in the admin.
  2. Create the fields you'd like for the Product – probably a Title, Body, Categories, and Tags.  The last two could either be hard-coded (as a Select – more rigid) or relational (as a Page Reference/PageArray, using other Pages as data – more flexible).
  3. Create Pages with the Product template, and populate the data.
  4. Create a Product front-end template, /site/templates/Product.php (file shares the same name as your admin template name), with code like this:
    <div class="body">
    <div class="categories">
      <?php foreach ($page->categories as $c): ?>
      	<?=$c->value?> <!-- This is assuming your Categories are a simple Option fieldtype, without titles. -->
      <?php endforeach ?>
    <div class="tags">
      <?php foreach ($page->tags as $c): ?>
      	<?=$c->title?> <!-- This is assuming your Tags are a Page Reference fieldtype. -->
      <?php endforeach ?>

  5. Edit your front-end home template, /site/templates/home.php, and list some of your Products, maybe like this:
    <ul>  <!-- List pages with Product template, limit results to 10 -->
      <?php foreach ($pages->find('template=Product, limit=10') as $p): ?>
        <a href="<?=$p->url?>">
    <?php endforeach ?>


That'll get you started with displaying and querying Pages.  You might want to take a look at this article to better understand how Templates, Fields, and Pages relate to each other.

E-commerce is one of the less well-represented areas of ProcessWire, but is 100% doable.  The main bits that don't exist out-of-box are a shopping cart, order management, and the checkout process, but could definitely be built using PW.  The module Padloper has both a cart and checkout process.  You could get something mostly self-contained like Stripe or Snipcart running within a PW install in short order.   Whatever the case, E-commerce in PW, and in fact most systems, will require some development and figuring out.  Hope that helps!

  • Like 7

Share this post

Link to post
Share on other sites

There exist two Pro modules which will help you to build this e-commerce website. Padloper (already mentioned) and Variations (check the tutorial and the video)


Also there are two good reads on Snipcart, a tutorial and a case-study - a must read even if you plan to not use Snipcart:


Welcome to the forum @Samk80 and good day to you  ;)


  • Like 5
  • Thanks 1

Share this post

Link to post
Share on other sites

As evan mentioned above, ProcessWire lacks support of shop modules. I built 3 Shops with ProcessWire within the last year. The first one with the help of Padloper, the other two (b2b-shops) without Padloper. Take the time to write down evertything about the structure of your producst and then you can start developing your own very flexible solution for your customer. By the way, it's very easy to do complex imports (XML or JSON) and exports of products or orders (PDF - pages2pdf, XML, JSON) for other systems. So there is no need to manage the orders within ProcessWire. The import can be startet manually or via cron by night. But you can do this also... maybe not so shiny as in magento or shopware. In one solution the customer can put everything with an import into the shop and the orders run back via email into the system. The customer nearly never uses the backend.

  • Like 1

Share this post

Link to post
Share on other sites

Hey there @Samk80, Max from Snipcart here. Don't hesitate to ping us at should you decide to give our product a try! We'd be glad to help.

And a huge thanks to @evan & @flydev for mentioning Snipcart. Goes a long way! :rolleyes:

  • Like 3

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Kass
      Hi everyone,
      Does anyone know how I could insert an add-to-cart button (of a product from Prestashop) onto a Processwire page? The add-to-cart button should then lead the user to the checkout page of a Prestashop installation. The user should be able to select the product quantity before adding-to-cart. 
      I am aware of simplecart.js but I do not want to use it because of its security flaws which I've read about. I'm also aware of Padloper but it doesn't really suit my needs.
      I saw a thread about this topic posted in 2014 but it is a bit older now and provides no conclusive answer :
      Thanks for any help
    • By Sylv
      Hello all ! Just because I'm proud to be featured by Snipcart (js ecommerce solution) about my integration on my Processwire based website !
      This post talks about Processwire and how I've done it :
      If you wanna take a look at my website : (french & english)
      Have a good day everyone !
    • By andre
      Hi guys,
      I have built a website with pw and now my client wants to add ecommerce. 
      For me being a frontend dev, pw is amazing because it gives me full control of the output just using basic php, but now that I want to add more complicated functionality I am not liking it so much.
      Is it possible to add ecommerce to a pw powered website without diving deep in php? Stripe and paypal integration, coupons, shipping tables...
      I have seen padloper... it seems basic and not very actively developed.
      Thanks in advance.
    • By douglas81
      Still very fresh, but I thought... what the hell... spread the PW love and give you guys a first look...
      This was a huge project. Still lots of debugging to do, but early feedback most welcome! Don't look at the code (particularly the js)... it's a bit of a garbled mess! Ha ha! Need to, ahem, refine it over the coming weeks and months.
      Haven't made the jump to PW3 yet as I'm using a few modules which don't work out of the box.
      Thanks again to Ryan for everything. Also, big thanks to Antti for his wonderful PadLoper module.
      Cheers and happy browsing!

    • By maxlab
      Hey everyone,

      Max from Snipcart here!

      We just published a full tutorial showing how to use ProcessWire + Snipcart (our dev-first HTML/JS shopping cart platform) to enable e-commerce. It was pretty much my first time playing around with the Apache/MySQL/PHP stack, so I'd love to get some feedback on the demo code. Oh, and also, if you feel like the Snipcart integration could have been done in a different/better way with ProcessWire, let me know!

      > Blog post tutorial
      > (Very) simple live demo
      > GitHub repo

      Cheers folks.