Drupal Commerce – eCommerce for Drupal
Drupal Commerce is currently the leading solution for building Drupal e-commerce websites.
We’re going to give you a first look over Drupal Commerce, showing you how to get up and running. This won’t be a detailed tutorial but introduce you to the key features. We’ll show you the main modules that Drupal Commerce relies upon and will give you important resources to learn more.
About Drupal Commerce
For several years the leading e-commerce solution for Drupal was Ubercart and was led by talented developers such as Ryan Szarma. I interviewed him back in early 2007 on the launch of Ubercart. However fast forward several years due to “a number of trademark issues and other disagreements of the future direction of Ubercart”, Ryan left and reated a fork which became Drupal Commerce. He also helped to found Commerce Guys, a venture-capital backed company, to provide professional support for the release.
The fastest way to get started with Drupal Commerce is by downloading and installing the Commerce Kickstart distribution of Drupal. It’s a normal Drupal package plus over 20 specially created Drupal Commerce modules.
The main installation process is the same for a normal Drupal install as shown in the image below:
The only noticeable difference is on the last page of the installation process when you have the opportunity to create sample products for your store:
A Walkthrough of Drupal Commerce
When you first open the new Drupal install there will be three very basic products on the frontpage: Product One, Product Two and Product Three.
Click Add to cart and you’ll see that the shopping cart module on the left-hand side records the action.
Click Checkout and you’ll be taken to a shopping cart like the one below.
On this page you fill in your billing information and choose a payment method (none are setup by default so you can go process without paying).
On the second page the checkout you’ll be asked to review your order:
Agree the purchase and your transaction is complete:
Click on view your order and you’ll see a receipt page as in the image below:
Overall the process is smooth. There aren’t any shipping or payment options setup so you can breeze right through the checkout without needing any setup.
How Drupal Commerce Works
Now let’s take a look at how Drupal Commerce works under the hood. You’ll notice that a new Store link has been added to the main toolbar, in addition to a series of shortcuts. These are the main areas for configuring your store.
Your products are setup as a nodes and so all of the product details will be added as fields.
Here’s an example product editing page:
The Configuration shortcut provides all of the store-wide settings for your store as in the image above.
The Store link in the main toolbar provides the area to manage your actual transactions, products and customers.
Views play a major role in every element ot Drupal Commerce from setting up the Customer profiles to tracking inventory:
The Rules Module
In order to set shipping and product pricing rules, Drupal Commerce relies very heavily on the Rules module. You can set all sorts of different Conditions (someone buys XYZ product) and allow those to trigger follow up actions (Offer them a related product). Of course, Drupal Commerce requires a good understanding of Drupal, but anyone seriously wanting to use it will need to sit down and really familiarize themselves with Rules and these Events, Conditions and Actions. They are the key to setting Drupal Commerce apart from others, in terms of flexibility. Relying so heavily on a such a complex module is both the power of Drupal Commerce and also a potential limitation. Watching the Rules tutorials from NodeOne would be good way for users to get up to speed: http://nodeone.se/node/984.
First Look Conclusion
Drupal Commerce is clearly targeting an enterprise market. There’s enormous potential here to create a customizable store. Last month the the Commerce Guys built a parody / tribute of the Apple Store which was a wonderful copy of the original. They decided to take it down to avoid any letters from Apple’s lawyers but it was a wonderful example of what Drupal Commerce can do.
Like Drupal, Drupal Commerce is not for those people who are faint of heart or short of time. I also suspect that, like Drupal, it can deeply reward those who spend the time to master it.
Find Out More
As we’ve noted, Drupal Commerce doesn’t install with any payment or shipping option so your first stop may well be to add those. Here are three additional modules to get you started:
- Shipping: http://drupal.org/project/commerce_shipping
- PayPal: http://drupal.org/project/commerce_paypal
- Authorize.net: http://drupal.org/project/commerce_authnet
In addition there’s a full list of contributed modules here: http://www.drupalcommerce.org/contrib. It’s worth nothing that although the core is a stable release many of the additional modules are still in RC or Dev stage.
Also, Commerce Guys have done a good job of creating video intros to Drupal Commerce and so be sure to check out http://vimeo.com/channels/commerceguys
Wow, thanks for pulling so much good content together and sprinkling screenshots in there liberally. I really appreciate the tutorial and your final analysis of the project.
Will definitely pass it around. : )
You’re very welcome! 🙂
You’re welcome, Ryan. You’ve a great platform you’re building.
I’d completely forgot until finishing the review that we’d spoken about Ubercart back in early 2007 … guess we’ve both been doing this for a while now 🙂
I think, for Commerce in Drupal 7, there was a multi vendor module. Is there one for Drupal 8 Commerce? I couldn’t find it in the repository, if there is. I have hoped and hoped to build a multivendor site one day, as my first site, and had my heart set on a Drupal 8 multivendor site. Been reading about Drupal off and on for years but haven’t seen the pieces I need line up yet. (I see I may have missed an opportunity in Drupal 7 though.) I see there are a lot of non-Drupal offerings in that multivendor market and wondered if Drupal 8 is going to have an offering in that area? I know this will sound funny, but I think I have concluded that maybe there is not one, and I think I must be actually grieving this lost hope a bit. Been in a funk since I concluded this. So, I guess to stop toturing myself over it and end my misery, I’ll ask … Is a Groups, multivendor, events configuration doable enough for a non-programmer such as myself? Got any suggestions for me? Much appreciated. Thanks.