I'm looking for an e-commerce platform that allows for the customer to customize the product. The shop would be for glasses, so after selecting the frame there should be a form where the customer can select the type of lenses they want. The lenses available are independent of the frame selected, and the lenses add to the total price of the glasses. I think this should be doable with the same kind of product customization feature that allows for selecting custom text to be engraved on an item, for instance.

I started working on a store based on Django Shop, but I'd like to know whether there's an e-commerce framework that already supports this feature. I've also looked at Saleor,¹ ² ³ Spree, Solidus, Sylius, Reaction Commerce, Aimeos, and Cezerin, but they also don't seem to have that feature. WooCommerce, nopCommerce, Shopware, and possibly PrestaShop have plugins for product customization, but those plugins are not gratis.


  • Supports product customization. Customization can be either before or after it's added to the cart; it doesn't matter. Form should support radio- and checkbox-like ways of choosing from multiple choices, and conditional logic for hiding later parts of the form. Product customization should be able to affect the price of the product.
  • Support for product variants (different sizes and colors), which can be selected on the product detail page.
  • Keeps track of stock - purchasing an item decreases the available stock, etc.
  • Easy-to-use GUI interface for adding products to store
  • Includes a pre-built mobile-responsive storefront, not just a back-end
  • Open source (copyleft is okay)
  • Gratis
  • Secure
  • Not primarily in WordPress, Drupal, Lua, Perl, Objective-C, or Pascal

Desired but not required:

  • Product list page supports filters
  • Images can be associated with the product variant and not the product model
  • Store can be translated into multiple languages. Localization for currency is not necessary, however.
  • Users can "like" or save products they like without adding it to their cart
  • Users can create an account


  • Progressive web app, single page app, works offline, etc.

Related question (no answers so far): Best e-commerce solution to add product customization within checkout page? (not product page). One difference is that I don't particularly care whether the configuration is on the product page or checkout page, and I have some additional requirements.


Drupal Commerce supports product customization. Both Drupal and Drupal Commerce are gratis and libre. I'm haven't checked whether it meets my other needs.

Drupal is, however, not doing so hot as a developer platform.

  • "Drupal is, however, not doing so hot as a developer platform" - care to expand on that? – Mawg says reinstate Monica Sep 23 '19 at 10:37

From my experience, you will probably need custom code to do this.

Having said that, you can try using drupal. There are two independent paths to follow:

  • drupal ubercart (simpler but older). You can try out the in-built attributes or even a module like uc_dropdown_attributes, assuming you can fit in your options [lenses, etc] as options. There is a Glasses Retailer example I came across in the past. But the developer also says they did some custom coding.


You can find some of the APIs here

Both are opensource, gratis, stock, have responsive themes, gui interface for products, create product searches/filters, users can create accounts, product images, like/save products or wishlists, localization etc. Generally customisation is done before adding to cart, but can also be done after by using ubercart_node_checkout or commerce_node_checkout.

But you will have to invest some time to try out, to see if either meets your needs.

  • 1
    Thanks for looking into this! I'd rather not use Drupal, however. – mic Aug 23 '19 at 15:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.