Making Drupal Commerce Simpler for Clients

I'm pretty new to Drupal Commerce. I've built multiple stores with Ubercart. I was originally going to use DC but decided that it was too complex for clients to do simple things, such as adding products with variations.

Recently, though, I've decided to take the plunge. I must say that I'm impressed with the functionality that I can build, but disappointed that the end product looks like a mess for clients with little exposure to Drupal. I can't exactly just create a few Tours and expect everything to be ok, and my aspirations limit me from adding and maintaining stores for my clients.

So, I was hoping you guys could give me some insights as to how you do it? How do you simplify the process?

Keep in mind that simple autocreating a product display with products (as some modules do) is simply not good enough, due to the need for simple product variations.

Thanks in advance, guys. I look forward some day to giving back to the DC community!

Posted: Sep 4, 2014


joshmiller Josh Miller on September 5, 2014


A couple of simple pointers:

1) Keep your data model succinct and easy to understand (go with less product types as long as abstractions aren't too hard to understand, go with more to avoid abstractions)

2) Use the Inline Entity Form to tie products to nodes on one form and train your clients to go to "content" to add products and have them create the product displays and products simultaneously

3) Use Commerce Backoffice to gain a much friendlier and more robust Order and Product Management experience

4) Use Commerce Admin Order Advanced for a friendlier Order creation/over-the-phone Order taking interface

5) Consider using Commerce Migrate or Commerce Feeds if your clients needs to integrate with a third party or even wants to manage their inventory via spreadsheet

6) Highly recommend using Commerce Flat Rate + Commerce Shipment / Commerce Delivery if you are dealing with physical products (using flat rates is a numbers game, but clients typically love the easier to understand numbers).

I'm sure there are more pointers, but those are just off the top of my head.

Good luck!

Nick Baughman on September 6, 2014

Thanks Josh! That's very helpful to a newcomer! I'm sure a lot of people who know how to use Google will find this helpful in the future as well.

However, and suggestions about how to make the process of creating variation options easier to do for clients?

It's all well and good to have my clients create products the way that Inline Entity Form dictates, but then they're stuck with the options I have created.

For example, if I've created the options Red and Green for a shirt, and my client wants to start selling a Purple version of the shirt, how do I make the process of adding "Purple" to the list easier for them, without creating a tour that takes them to Store > Config > Product Variation Types > Manage Fields > Color, etc., etc.

Any suggestions? Could I use rules to tie a custom web form to it? If so, how?

joshmiller Josh Miller on September 16, 2014

This is an interesting question and one that probably deserves a good and thorough use case to determine a simple solution.

What Commerce Guys often recommends is to use Taxonomy terms as attributes. Then it's just a matter of using/training on the autocomplete term widget that lets your customers add an attribute if it doesn't exist. If your attributes are hierarchical, you might consider using this widget: https://www.drupal.org/project/term_ref_autocomplete

A different approach that I've never attempted, but bojan says is supported, is to use inline entity field for your taxonomy fields. IEF has an option to "search" for an existing entity, before supplying a form to create a new entity. Remember, terms are entities as well.