In Drupal Commerce ist die Speicherung von Produkten und die Anzeige dieser voneinander getrennt.

Produkte sind Entitys, in diesen Entitys werden alle Produktinformationen wie bei Nodes in Feldern gespeichert. Jede Warengruppe/Produkt besitzt einige von Commerce vorgegebene Felder. Diese sind:

  • Product SKU: (Artikelnummer des Produktes)
  • Titel
  • Preisfeld
  • Status

Für die Ausgabe der Produkte sind die Produktdisplays zuständig. Diese sind herkömmliche Nodetypes, die über ein ‐ von Commerce bereitgestelltes ‐ Produktreferenzfeld einem oder auch mehreren Produkten zugeordnet werden können.

Warengruppen und Produkte

Produkte werden unter Shop – Products angelegt und verwaltet. (admin/commerce/products/)

Hier hat man die Wahl zwischen dem Erstellen einer neuen Warengruppe und dem Erstellen von Produkten innerhalb einer Warengruppe.

Warengruppe erstellen:

Im Beispiel legen wir die Warengruppe "Kleidung" an und fügen einige Felder für Produktdetails hinzu.

Unter anderem sind dies zwei Listenfelder für Kleidungsgrößen und Farben. Über diese Felder können später unterschiedliche Varianten der Produkte ausgewählt werden. Damit diese Felder sogenannte Attribut-Felder werden können, müssen sie vom Typ "Liste" sein. Ohne diese Felder werden unterschiedliche Varianten durch den Titel und SKU ausgewählt.

Um aus einem Feld ein Attribute-Feld zu machen, muss bei der Einrichtung des Feldes der Haken bei "Enable this field to function as an attribute field on Add to Cart forms" gesetzt werden.

Produktdisplays

Wie bereits gesagt werden die Produkte selbst nicht angezeigt, sondern nur über die Produktdisplays dargestellt, daher erfolgt nun im nächsten Schritt die Einrichtung eines Produktdisplays für Kleidungsstücke. Zum Anlegen eines neuen Produktdisplay erstellt man einen neuen Inhaltstypen. Dieser muss mindestens ein Feld des Typs "Produktreferenz" besitzen. Über dieses Feld wird dann die Beziehung zu den Displays hergestellt.

Produkte erstellen

Wir haben jetzt eine Warengruppe und einen Inhaltstypen für die Displays erstellt; der nächste Schritt ist das Anlegen einer Reihe von Produkten. Dies geht über den Menüpunkt "Shop - Artikel - ein neues Produkt hinzufügen" .

Gerade bei der Erstellung eines Produktes mit vielen verschiedenen Varianten erleichtert das Zusatzmodul Commerce (bulk product creation) die Arbeit. Dieses Modul ermöglicht die gleichzeitige Erstellung mehrerer Produkte. Die unterschiedlichen Kombinationen entsprechend der gewählten Varianten werden automatisch angelegt. Außerdem kann das Modul auch direkt ein dazugehöriges Display anlegen.
Besondere Unterschiede wie verschiedene Produktbilder, Preise und Beschreibungen können anschließend per Hand nachgepflegt werden. Aber gerade bei vielen verschiedenen Varianten erleichtert das Modul die Arbeit sehr stark, da es alle gewünschten Kombinationen erstellt.

Ohne dieses Modul würde man einen neuen Inhalt vom Typ des Displays erstellen und diesem die neuen Produkte zuweisen. Je nach Einstellung geht diese Zuweisung über ein Autovervollständigungsfeld, Auswahlfeld oder Auswahlknöpfe.

Die Anzeige – und welche Inhalte ausgegeben werden sollen – kann wie bei anderen Inhaltstypen auch unter "Anzeige verwalten" eingestellt werden. Zusätzlich kann und muss teilweise auch die Anzeige bei den Warengruppen direkt eingestellt werden (ob z.B. der Title des Felds ausgegeben werden soll, kann nur in der Anzeige der Warengruppen eingestellt werden), die Einstellungen werden dann von den Displays übernommen. Eine wichtige Einstellungsmöglichkeit bietet das Produktreferenzfeld, hier lässt sich die (Standard-)Menge einstellen, aber auch, ob der Kunde direkt eine Mengenangabe machen kann.

Als Ergebnis hat man nun das erste Produkt mit unterschiedlichen Varianten auf seiner Website.

Damit endet hier der zweite Teil der Drupal Commerce Vorstellung. Im letzten Teil der Reihe wird beschrieben, wie man das Aussehen des Warenkorbs verändert und Preisregeln erstellt.

Weiterführende Links:

Produkt und Produktdisplay Guide auf drupalcommerce.org
Warenkorb war gestern: Eindruck vom Drupal Commerce Camp Luzern