I'm coming from ubercart and want to transition to drupal 7 commerce 1.x, but its very confusing on how this all relates to one another. First off I just want to clarify, what the difference from a product, product type, and product display?

I read a few online tutorials, but its not very clear on distinguishing how each one relates and how it is setup.


1 Answer 1


Okay after reading a bit and messing around with the commerce module, its a bit more clear now. Don't even try to just read the documentation without clicking around and testing Drupal commerce as its very confusing if your not messing with the site. It's best to install just the Drupal Commerce module and not the Commerce Kickstart module so you can get a CORE knowledge of how it works from the ground up. Kickstart has too many other modules installed and will make it confusing of how thins are built.

Hopefully I can explain it a bit easier than the documentation. When starting out with Drupal Commerce and your coming from Ubercart, its good to know that there are no Options or Attributes as a configuration option as you have it in Ubercart. The idea of how Drupal Commerce was constructed was that every type of options within an attribute is its own product. (This is something I had to get my brain used to.)

Let's say I am selling T-shirts and I have SIZE and COLOR as an attribute. Now I have 5 difference sizes (X-Small, Small, Medium, Large, X-Large) and have 5 different COLORS (Red, Blue, White, Black, Green). YES, I know its a crap load of products to deal with compared to Ubercart which would have been only ONE and you just set attributes and options for it!

In Commerce, a product page is constructed in this way:

Product Type > Product > Product Display

Product Type You can think of Product Type as you creating a new Content Type under structure, but it just has its own section for it. Which is why this is called an Entity! Structure > Content Type is a type of Entity. And Product Type is just another Entity. Hence the different page to set this up.

Product You create a product out of a product type. Same as if you create a new content type called "Basic Page", you would create a new page when you click on basic page under structre.

Product Display Now here's the tricky part to wrap your head around. When you create a product, there is no page where you can view it as its not a "DISPLAY". Its just a record in your site saying you have this product, but you cant view it. Now you create "PRODUCT DISPLAYS" via the regular structure menu as if you were creating a new content type. You can call it whatever. You know what, just use the default "Basic Page" and add a new field to it. That new field will have to be a type of "Product Reference", which you select under the type option when you add new fields. Once you add a product reference option. Your BASIC PAGE is now considered a "PRODUCT DISPLAY". When you first install commerce without anything else, you will have to make your own product display, so don't expect to see a product display option under structure. Once that is done, create a new BASIC PAGE and add a few products you already made and it will pop up with the add to cart forms and stuff.

I hope this was clear, if not let me know and I'll try to be a bit more precise.

  • I also recommend learning with Commerce Kickstart 1.x - you get the full core Commerce experience without the store trappings of Kickstart 2.x. The simplest way to understand it is by thinking about taxonomy, another core Drupal entity type that is displayed in the context of other entities. Taxonomy terms have different types (their vocabularies), a list of terms, and a term reference field to attach them to content. Products have different types (aptly named product types), the products themselves, and a product reference field to attach them to content. May 27, 2013 at 23:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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