0

Produktmatrix mit Variantenprodukten und Merkmalen (Tutorial)

Geschrieben am 30.08.2012 in Tutorials von Mirko Vogelsmeier

Heute möchten wir speziell auf die Verwendung von Produktmerkmalen (Features) in Kombination mit Virtuellen-/Variantenprodukten eingehen, die OFBiz bereits „out of the Box“ beherrscht. In ERP- und E-Commerce Systemen werden Merkmale verwendet, um Produktinformationen strukturiert und konsistent abzulegen. Dies dient nicht nur der Übersichtlichkeit in der Datenhaltung und/oder Vergleichbarkeit von Produkten, sondern ist auch für die Suchbarkeit essentiell z.B. bei einer Drill-Down-Suche, bei einer Filternavigation oder wenn man über PIM-Anwendungen nachdenkt. Dieser Artikel beschreibt die technische Umsetzung von Varianten-Produkten in OFBiz. An einem weiteren Artikel, der sich eher um die Fachlichkeit bei der Abbildung von Produkten dreht, arbeiten wir gerade parallel. Er wird in Kürze erscheinen. Zur Veranschaulichung beschreiben wir hier beispielhaft die Product- und ProductFeature-Datenstruktur eines Computer-Netzteils, dass eine Marke (Hersteller) zugewiesen hat und bei dem der Kunde später auswählen soll, welche Leistung (in Watt) das Netzteil haben soll. Es ergibt sich folgende Struktur: Struktur von Varianten und virtuellen Produkten mit Merkmalen in Apache OFBiz Wir verwenden ein virtuelles Produkt, das später im Frontend angezeigt wird. Dieses Produkt stellt sämtliche Informationen für alle untergeordneten Produkte (z.B. Produktbeschreibungen, gleiche Bilder, Produktmerkmale) bereit.

 <Product productId="Netzteil" isVariant="N" isVirtual="Y" />

Außerdem werden Variantenprodukte, praktisch also die Ausprägungen des virutellen Produkts, angelegt:

 <Product productId="400W_Netzteil" isVariant="Y" isVirtual="N" /> <Product productId="500W_Netzteil" isVariant="Y" isVirtual="N" /> <Product productId="600W_Netzteil" isVariant="Y" isVirtual="N" />

  Nun müssen die Produktmerkmale und deren Typen erstellt und dann den Produkten zuweisen werden.

  • Merkmalstyp Marke:
    <ProductFeatureType productFeatureTypeId="Brand" description="Marke" />
  • Merkmalstyp Leistung:
    <ProductFeatureType productFeatureTypeId="Power" description="Leistung" />
  • Merkmale für Leistungen:
    <ProductFeature productFeatureId="p_400" productFeatureTypeId="Power" description="400" uomId="EN_w" /> <ProductFeature productFeatureId="p_500" productFeatureTypeId="Power" description="500" uomId="EN_w" /> <ProductFeature productFeatureId="p_600" productFeatureTypeId="Power" description="600" uomId="EN_w" />

    Der Wert „uomId“ bezieht sich auf die Entitäten „UOM*“. Dies steht für „unit of measurement“, also Maßeinheiten. OFBiz bringt bereits einiges an Funktionalität zum Thema Maßeinheiten mit. Auch wenn die Angabe einer uomId hier nicht verpflichtend erforderlich ist, ist sie dennoch empfehlenswert. So hat man später bereits die Datenbasis für automatisierte Umrechnungen einer Maßeinheit in andere Einheiten (Watt in Kilowatt oder auch Kilometer in Meilen) zur Verfügung.

  • Merkmal für Marke:
    <ProductFeature productFeatureId="brand_1000" productFeatureTypeId="Brand" description="Corsair" />

Anschließend werden die erstellten Merkmale den Produkten zugewiesen. Generell ist zwischen 3 wichtigen Assoziationstypen (ProductFeatureApplTypes) zu unterscheiden:

  • SELECTABLE_FEATURE: Alle verfügbaren Merkmale der Variantenprodukte (reelle Produkte) werden als „auswählbare Merkmale“ dem virtuellen Produkt zugeordnet.
    <ProductFeatureAppl productId="Netzteil" productFeatureId="p_400" productFeatureApplTypeId="SELECTABLE_FEATURE"/> <ProductFeatureAppl productId="Netzteil" productFeatureId="p_500" productFeatureApplTypeId="SELECTABLE_FEATURE"/> <ProductFeatureAppl productId="Netzteil" productFeatureId="p_600" productFeatureApplTypeId="SELECTABLE_FEATURE"/>
  • STANDARD_FEATURE: Standard-Features beschreiben die natürlichen Merkmale eines Produktes (hierzu zählen häufig Größe, Gewicht, Marke, usw.) und werden somit den virtuellen Produkten hinzugefügt. Dieser Typ wird unter anderem für Produktvergleiche verwendet.
    <ProductFeatureAppl productId="Netzteil" productFeatureId="brand_1000" productFeatureApplTypeId="STANDARD_FEATURE"/>
  • DISTINGUISHING_FEAT: Dieser Typ wird Variantenprodukten hinzugefügt um sie untereinander zu unterscheiden.
    <ProductFeatureAppl productId="400W_Netzteil" productFeatureId="p_400" productFeatureApplTypeId="DISTINGUISHING_FEAT"/> <ProductFeatureAppl productId="500W_Netzteil" productFeatureId="p_500" productFeatureApplTypeId="DISTINGUISHING_FEAT"/> <ProductFeatureAppl productId="600W_Netzteil" productFeatureId="p_600" productFeatureApplTypeId="DISTINGUISHING_FEAT"/>

Weitere Möglichkeiten sind u. a. die Gruppierung und Bepreisung von Produktmerkmalen. Fragen können gerne in den Kommentaren oder per Kontaktformular gestellt werden.

Dieser Artikel gefällt Ihnen? Sagen Sie's Ihren Freunden:

Hinterlassen Sie eine Antwort





*