I’ve been running an online shop for a year now which hasn’t really taken off due to a mixture of lack of time and secondly, hating OSCommerce that it’s running on.
Having spent a large portion of the last year using Drupal 7 for work I decided to re-develop the shop using that. I check it out and two main options for contributed modules to provide the shop functionality came up: UberCart and Drupal Commerce. I started with Ubercart since I’d heard with it and it was more established, however I didn’t like some aspects of it and after an update, it crashed the site. So I installed the Drupal Commerce module and started to play with that.
The standard configuration was easy enough being a mix of Drupal knowledge and the fundamentals of commerce software. After that it was a case of adding my 250+ products. This is where the first bit of confusion came in. Drupal Commerce works by having a content type called Product Display which can have fields in the same way as other nodes, but also has within the shop Products which are completely seperate and have their own set of fields. It seemed a little confusing at first since I didn’t get why you’d want double entry – having to add the product with the price etc as a Product and then add it again as a Product Display with a description.
After more reading I found out that the seperation of product and display is due to a feature that I specifically needed. My shop sells lingerie and as such each item I sell has options for size and sometimes, colour. In the real world these can be considered seperate products, they are different – you can’t send a green one out if the customer has requested red. So with Drupal Commerce you add each option as a seperate Product and then add a Product Display for all of the different options. The Product Display node can then be used to create the site, either as part of a menu, tagged with taxonomy to create product categories or however you would normally use Drupal to create your site.
The benefit though is when you arrive on the Product Display node. Drupal Commerce can then take all the different Products and create option dropdowns so a customer can select the size and colour they want and then add to basket. That chosen Product is then added to their order.
I’m not sure if this may be annoying for shops where there are no options and you have to add a Product and then Display for each item, but if it is and you have quite a few products then there’s always Commerce Feeds to the rescue. This is a module that utilises the Drupal Commerce and Feeds modules to allow you to use CSV files or other formats and import them directly into Drupal.
So far I’ve got the 1,000+ Products added. Tomorrow night I’ll look at the 250+ Product Displays.
First impressions: impressed