I have a fair amount of experience with Drupal 7 but I'm confronted with some requirements that I simply don't know how to think about in terms of Drupal modules, etc. I'm not looking for a step-by-step tutorial; I'd just like to know how I can implement this roughly so I know which direction to head in.

I'm making a personal site for a friend who is an artist. We defined a custom content type, work of art, that allows her to add each piece she has created.

  • She wants to sell some works of art and simply list others (never sell).
  • Of the works of art for sale, for some the originals will be for sale, while for others only reproductions will be for sale.
  • For reproductions, users need to be able to choose from among different sizes.
  • Even after a work of art is sold, she would like to keep the node published so visitors can see it, though it should no longer be available for sale.

I've already built a gallery of the works of art in Views. Ideally, I would be able to add the option to purchase each work directly on its node page rather than building a separate store.

Is this going to be relatively straightforward to do in Drupal Commerce? What is the general approach I should take to this, given the requirements above?

1 Answer 1


Products you sell are not nodes in Drupal commerce, but are their own entity where you can define product related stuff, like SKU, price etc.

You probably will need two product types, one for originals and one for reproductions.

You will need to create a product reference field on a node or something else in order to display the add to cart form along with product details, this can be done on your work of art content type.

In order to select size, the easiest solution will be to create on product per size, then reference all of them and commerce will do the rest.

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.