Produkte-Konfigurator

Benötigte Lesezeit: 23 Minuten


Einleitung

Mit diesem externen PepperShop Modul, kann man im eigenen Shop komplexe Artikel-Sets oder Produkte Konfiguratoren abbilden, z.B. ein Artikel, bei welchem vom Kunden aus mehreren Auswahlgruppen je ein Unterartikel ausgewählt werden muss, bevor er in den Warenkorb gelegt werden kann. Diese Artikel-Sets sind rekonfigurierbar und können vom Kunden jederzeit während des Bestellprozesses angepasst werden.

Modulkonfiguration / Updates

Abbildung 1: MassenmutationenNach dem Kopieren der Dateien kann man in die Shop-Administration gehen und dort ins Menü Artikel -> Massenmutationen wechseln. Hier sieht man den Punkt ‘Artikel-Sets’ zur Auswahl. Links im Screenshot ist der Button rot hervor gehoben.

Beim Klick auf diesen Button wird man ins Hauptmenü des Produkte Konfigurators weitergeleitet.

Das Modul selbst hat keine spezifischen Konfigurationseinstellungen, da dies im Wesentlichen durch die Datenbasis der vom Shop-Betreiber zusammengestellten Artikel-Sets schon umgesetzt ist. Auch eine Aktivierung oder Deaktivierung wird in diesem Fall nicht benötigt.

Nach der Installation wird im Menü Shop-Einstellungen -> Shop-Konfiguration -> Module das Modul neu aufgelistet. An dieser Stelle lässt sich auch nach Updates für die installieren Module prüfen.

Konzept / Artikelzusammenstellung

Ein Artikel-Set besteht selbstredend aus einer vom Shop-Betreiber zusammengestellten Sammlung von wählbaren Artikeln. Die Organisation eines Artikel-Sets sieht z.B. wie folgt aus:

Administration - wo denn?

Im folgenden Screenshot wird das Hauptmenü der Artikel-Set Verwaltung angezeigt (Massenmutationen -> Artikel-Sets). Oben rechts rot markiert ist die Online-Hilfe verknüpft, welche bei diesem Modul mit seinen vielen Möglichkeiten immer gut hilft. Wer nicht viel lesen will, kann jetzt schon mal ausprobieren…

Abbildung 2: Hauptmenü der Artikel-Sets Administration

Allgemeine Beschreibung

Der PepperShop verfügt über mehrere Möglichkeiten Varianten eines Artikels abzubilden. Da gibt es die Standard PepperShop Varianten, welche nicht viel mehr als ein Text + Aufpreis + Gewichtszuschlag sind. Dann gibt es die moderneren Parent- / Subartikel, welche komplette Artikel miteinander verknüpfen können. Die dritte Möglichkeit sind die Artikel-Sets, welche hier im Produkt Konfigurator verwendet werden.

Da jedes Artikel-Set (Bundle) aus real existierenden, import-/exportierbaren Artikeln besteht, für welche man auch die Lagerverwaltung und Mehrsprachigkeit + Preisfindung benutzen kann ist die Verwaltung der Stammdaten per angebundenem ERP-System möglich. Die Verknüpfung muss aber im Shop gemacht werden.

Weiter bieten Artikel-Sets auch viel komplexere Möglichkeiten der Artikelabbildung, da man optionale Komponenten, neue Darstellungsformen und mit normalen PepperShop Varianten / Optionen / Texteingabefeldern versehene Variationsartikel benutzen kann, um sehr umfangreiche Artikel zu erstellen.

Administration: Ein Überblick der drei Konfigurationsschritte

Die Administration von Artikel-Sets ist komplex - wie auch der Aufbau eines Artikel-Sets an sich und deshalb mehrstufig ausgelegt:

Wie weiter?

Hier gibt es verschiedene Ansätze:

a) Einfach mal drauf los… wie im Kapitel 5 beschrieben, kann man einen Artikel auch einfach ‘zusammenklicken’. Als Basis dienen jeweils vorgefertigte Artikel, die man zu einem Artikel-Set ‘zusammenklickt’.
b) Man schaut sich (zuerst) das Beispiel einer Umsetzung in Kapitel 15 an.
c) Die folgenden Kapitel erläutern den Aufbau und die Zusammenhänge aller in den oben erwähnten Masken vorkommenden Elementen.

(Variations)Artikelzuordnungen einer Artikel-Set Variationsgruppe bearbeiten

Wenn man die Artikel-Set Administration betritt, so sieht man als erstes alle Artikel-Sets im PepperShop unabhängig von deren Kategorisierung).Pro Zeile kann man mehrere Informationen entnehmen und Operationen auf den einzelnen Artikeln ausführen.

Artikelname: In der ersten Spalte sieht man den Artikelnamen. Hier kann man die Grunddaten eines jeden gelisteten Artikel-Set Hauptartikels bearbeiten, wenn man auf den Artikelnamen klickt.

Artikel-ID / Artikel-Nr.:Zur eindeutigen Referenzierung sieht sieht man weiter noch die shopinterne Artikel-ID und die vom Shopbetreiber vergebene Artikel-Nr.

Operationen: Mit Klick auf ‘bearbeiten’ kann man das angegebene Artikel-Set bearbeiten (zugeordnete Variationsgruppen und deren Variationsartikel ändern).

Variationsgruppen nacheinander anzeigen: Wenn aktiviert, so werden die dem Artikel-Set Hauptartikel zugewiesenen Variationsgruppen nicht gleich alle miteinander zur Auswahl angezeigt, sondern es wird, basierend auf der Gruppen_Nr-Spalte in artikel_variationsgruppen, immer nur gerade die nächste Artikel-Set Variationsgruppe zur Auswahl angezeigt, die noch nicht konfektioniert wurde -> von welcher der Shopkunde also noch keinen darin enthaltenen Variationsartikel ausgewählt hat. Auf diese Weise lässt sich ein komplexes Artikel-Set mit einer einfachen Benutzerführung ausstatten. Tipp: Man kann in das jeweilige Auswahlbild eine Nummerierung einbinden dann ist der fortlaufende Konfigurationsprozess für den Kunden auch einfacher ersichtlich. Der ‘in den Warenkorb’ Button erscheint erst, wenn das Artikel-Set komplett konfiguriert ist, so dass man es in den Warenkorb legen kann, ohne das Fehlermeldungen erscheinen würden.

Anzahl nach Rekonfiguration nicht ändern?: Die letzte Spalte beinhaltet eine Checkbox pro Artikel. Wenn sie aktiviert ist, so wird die Anzahl eines in den Warenkorb gelegten Artikel-Sets nicht erhöht. Dies ist dann wünschenswert, wenn man z.B. einen konfigurierten Artikel eh nur einmal in den Warenkorb legen können soll.

Bei einem Klick auf den Button ‘Neues Artikel-Set erstellen’, kann man einen bestehenden Artikel zu einem Artikel-Set (Hauptartikel) machen. Zu einem Artikel-Set Hauptartikel wird er übrigens erst, wenn man ihm mindestens eine Artikel-Set Variationsgruppe mit Variationsartikeln zuordnet. Sonst wird er vom Shop gar nicht erst als solchen erkannt.

Shopweite Defaulteinstellungen bearbeiten

Wenn man in der Artikel-Set Hauptartikelansicht ganz unten auf den Button ‘Shopweite Defaulteinstellungen bearbeiten’ klickt, so kann man hier die Artikel-Set betreffenden Shop weit gültigen Shopeinstellungen tätigen:

  • Wenn der Shop mehrere Sprachen gleichzeitig anbietet, so sieht man hier als erstes ein Dropdown-Menü mit den aktivierten Sprache, so dass man die verlinkten Bilder in der entsprechenden Sprache anschauen kann -> Achtung: Die Links werden immer erst nach der Aktualisierung geupdated, wenn man also erst jetzt gerade den Bildnamen geändert hat, muss man zuerst auf ‘Speichern’ klicken, bevor der Link zur neuen Datei führt. Wenn der Shop nicht mehrsprachig ist, sieht man dieses Dropdown-Menü übrigens nicht.
  • Startbild Default: Dieses Bild wird als Artikelbild Platzhalter angezeigt, wenn für die entsprechende Artikel-Set Variationsgruppe nicht ein eigenes Startbild angegeben wird. Das Bild wird in einem sprachabhängigen Teil des PepperShops abgelegt, so dass man auch Sprachelemente ins Bild integrieren kann.
  • Auswahlbild Default: Dieses Bild entspricht auch dem Shop-Default (Standard) und kann ebenfalls pro Variationsgruppe ersetzt werden. Es ist ebenfalls sprachabhängig. Dieses Bild steht für den Button, auf welchem meistens etwas ähnliches wie ‘wählen’ oder ‘auswählen’ stehen wird. Wenn der Shopkunde auf diesen Button klickt, so sieht er alle in dieser Artikel-Set Variationsgruppe verknüpften (Variations)Artikel zur Auswahl. Hier wird der Button nochmals bei jedem Artikel angezeigt.
  • Entfernenbild Default: Dieses Bild wird dem Shopkunden angezeigt, wenn er einen Artikel aus einer optionalen (nicht obligatorisch) Artikel-Set Variationsgruppe ausgewählt hat. Mit Klick auf diesen Button, kann der Shopkunde einen Artikel wieder abählen, so dass kein Artikel aus dieser Variationsgruppe aktiv ausgewählt ist. Wie schon erwähnt, ist dies nur bei optionalen Artikel-Set Variationsgruppen möglich.
  • Ändernbild Default: Dieses Shop weite Defaultbild wird angezeigt, wenn ein Shopkunde ein Artikel-Set bereits konfiguriert hat und die Konfiguration (Konfektionierung) dieser Artikel-Set Instanz nochmals ändern möchte.
  • Änderungen übernehmen Bild: Dieser Button wird anstatt dem ‘in den Warenkorb legen’-Button angezeigt, wenn ein Kunde einen bereits im Warenkorb abgelegte Artikel-Set Instanz rekonfiguriert. Dieser Button hilft dem Shopkunden, ähnlich dem ändern-Button, den Unterschied zwischen noch nicht konfiguriertem Teil und bereits konfigurierten Teilen in seinem Warenkorb zu unterscheiden.
  • Template Datei Default: Im Unterschied zu den anderen Artikel-Set Shop-Default-Einstellungen handelt es sich hier nicht um ein Bild, sondern um ein PepperShop HTML-Template. Wie alle PepperShop HTML-Templates kann man auch dieses Template an zwei verschiedenen Orten betreiben: _{shopdir}/shop/language/htmltemplates/ -> dann wird das Template für alle Sprachen benutzt, oder in _{shopdir}/shop/language/xy/htmltemplates/ -> dann wird das Template nur für die Sprache mit dem ISO-639-1 Sprachcode xy benutzt (z.B. de, en, fr, it, ..). Dieses Template beschreibt das Aussehen der Variationsartikelauswahl einer Artikel-Set Variationsgruppe - also wie die Artikel dargestellt werden, wenn man als Shopkunde auf eine Variationsgruppe eines Artikel-Sets klickt, um einen Artikel daraus auszuwählen. Da diese Darstellung oft von den darin angezeigten Artikeln abhängt, kann man diese Shop weit geltende Defaultdatei auch pro Artikel-Set Variationsgruppe anpassen (überschreiben).
  • Anzahl Artikel-Set Variationsgruppen: Hier wird definiert, wie viele Artikel-Set Variationsgruppen nebeneinander in einer Zeile in der Artikel-Set Darstellen Ansicht angezeigt werden sollen. Die Artikel-Set Darstellen Ansicht ist dort, wo man den Artikel-Set Hauptartikel mit (unten dran) seinen Variationsgruppen sieht.
  • Default-Startbild anstatt kein Bild: Wenn in dieser Checkbox ein Häkchen gesetzt wird, so werden bei allen ausgewählten Variationsartikeln die kein eigenes Artikel-Bild haben in der Artikel-Set Darstellen Anzeige das Default-Startbild verwendet.

Artikel-Set Variationsgruppen administrieren

Wenn man bei einem Artikel-Set Hauptartikel auf bearbeiten geklickt hat oder ein neues Artikel-Set definieren will und einen bestehenden Artikel ausgewählt hat, so kann man die ihm zugeordneten Variationsgruppen jetzt sehen / bearbeiten.

Wie bei den Artikel-Set Hauptartikeln, sieht man auch hier eine tabellarische Listenansicht mit den diesem Artikel-Set Hauptartikel zugeordneten Artikel-Set Variationsgruppen.

  • Name: Name der Variationsgruppe (nicht bearbeitbar)
  • Gruppen-ID: Shopinterne Gruppen-ID, so dass die Variationsgruppe gegebenenfalls via phpMyAdmin in der Datenbank einfach lokalisiert werden kann.
  • Position: Hier kann angegeben werden, an welcher Stelle (von oben) die Variationsgruppe dargestellt werden soll [1..n]. Dabei gilt zu beachten, dass man weder Lücken in der fortlaufenden Nummerierung mit Inkrement 1 haben darf, noch darf die Nummerierung mit 0 beginnen. Gültig ist: ‘eins bis soviel, wie man hat’. Bitte auch beachten, dass die Reihenfolge der Variationsgruppen hier in der Administration immer aufsteigend sortiert angezeigt wird.
  • Operationen:

    • bearbeiten: Mit Klick auf diesen Button, kann man die Einstellungen dieser Artikel-Set Variationsgruppe verändern.
    • Artikelzuordnung: Hier können bestehende Artikel als Variationsartikel in dieser Variationsgruppe eingebunden und somit dem Shopkunden zur Auswahl angeboten werden.
    • entfernen: Hiermit kann man die Variationsgruppe aus dem Artikel-Set entfernen. Achtung: Dies entfernt nur die Verbindung zwischen dem Artikel-Set Hauptartikel und den über diese Variationsgruppe verknüpften Artikel. Es werden keine Artikel gelöscht. Beim Entfernen einer Variationsgruppe werden logischerweise auch alle Variationsartikelverknüpfungen dieser Variationsgruppe entfernt.

  • Neue Artikel-Set Variationsgruppe hinzufügen: Mit einem Klick auf diesen Button können wir dem aktuellen Artikel-Set Hauptartikel eine weitere Artikel-Set Variationsgruppe hinzufügen. Dabei wird sie von der Positionierung her ans Ende gestellt.#nn man bei einem Artikel-Set Hauptartikel auf bearbeiten geklickt hat oder ein neues Artikel-Set definieren will und einen bestehenden Artikel ausgewählt hat, so kann man die ihm zugeordneten Variationsgruppen jetzt sehen / bearbeiten.

Artikel-Set Variationsgruppen(eigenschaften) bearbeiten

Wenn man in der Anzeige der Artikel-Set Variationsgruppen eines Artikel-Set Hauptartikels bei einer Gruppe unter Operationen auf bearbeiten klickt, so kommt man in in das hier beschriebene Menü. Hier können die Eigenschaften einer bestehenden Artikel-Set Variationsgruppe bearbeitet werden. Man findet hier unter anderem ähnliche Parameter wie in der Definition der Shop weit geltenden Artikel-Set Einstellungen (siehe Kapitel 8).

  • Name der Artikel-Set Variationsgruppe: Hier definiert man den Namen, der kundenseitig angezeigt werden soll. Achtung, es ist hier kein HTML-Code erlaubt. Man kann also keine Bilder via <img src="bildname"> einbinden, dafür kann man beliebige Sonderzeichen des benutzten Zeichensatzen anwenden.
  • Dritte Detailstufe anzeigen?: Wenn der Radio-Button hier auf ‘ja’ gestellt wird, so ist bei dieser Variationsgruppe eine sogenannte dritte Detailstufe aktiviert. Wenn ein Shopkunde in der Anzeige der Variationsartikel dieser Variationsgruppe auf das Bild eines Artikels klickt, so wird (per Default unten dran) eine Detailansicht ebendieses Artikels angezeigt. Hier sieht man ein grösseres Artikelbild, seinen Namen und auch die Beschreibung des Artikels. Wenn die dritte Stufe ausgeschaltet ist, erscheint beim Klick auf ein Artikelbild nur das PopUp mit der Originalbildansicht. Dieses Feature wurde übrigens ‘dritte Stufe’ genannt, weil es im Shop schon zwei Artikeldarstellungsstufen gibt: Bei eingeschalteter zweistufiger Artikeldarstellung ist die erste Stufe eine tabellarische Ansicht aller Artikel innerhalb einer Kategorie. Die zweite Stufe ist dann der Artikel in der ‘Detailanisicht’ und wenn es sich hierbei um ein Artikel-Set handelt, so kann man mit aktivierter dritter Stufe quasi auch eine ähnlich detaillierte Ansicht eines Variationsartikels eines Artikel-Sets einschalten - daher der Name.
  • Anzahl Artikel pro Zeile: Hier wird die Anzahl angezeigter Variationsartikel pro Zeile definiert. Allerdings steckt hinter dieser Einstellung noch weit mehr als das Festlegen der Anzahl dargestellter Artikel pro Zeile: Wenn man eine Zahl kleiner oder gleich Null angibt, korrigiert der Shop dies. Per Default wird der Shop weite Standardwert eingesetzt. Wenn man die Zahl 1 eingibt, so hat dies eine spezielle Bedeutung, da dann nicht das Default-Template für die Artikelauswahl zum Zuge kommt, sondern ein anderes Template - per Default ist dies die Datei _artikel_set_auswahleins.tpl. Da hier alle dargestellten Variationsartikel untereinander dargestellt werden, kann man einiges mehr Informationen anzeigen, als z.B. in einer anderen Darstellungsform. Der PepperShop füllt denn in dieser Ansicht auch einiges mehr an Artikeldaten in (standardmässig nicht benutzte) HTML-Template-Variablen ab, so dass man z.B. auch die Artikelbeschreibung, Optionen, Variationen und Zusattexte (Texteingabefelder) pro Artikel anzeigen kann. Diese werden auch gespeichert und übernommen, was sehr komplexe Artikel-Bundles erlaubt. Bsp. Man könnte ein Artikel-Set namens Paket erstellen, eine Variationsgruppe mit Geschenkinhalt, welches mehrere Geschenke beinhaltet. Eine weitere Variationsgruppe mit Empfänger, welche einen Artikel beinhaltet, der Texteingabefelder hat, wo man die Lieferadresse des Geschenkpakets anbringen kann. Man benutzt noch ein optionales Feld, so dass der Shopkunde z.B. noch eine kostenpflichtige Expresslieferung per Kurier wählen kann. - Natürlich gibt es hier noch viele weitere Anwendungsmöglichkeiten. Achtung: Falls man Artikel mit Varianten / Optionen / Texteingabefelder in einer Variationsgruppe verknüpft, die in der Artikelauswahlanzeige mehr als einen Artikel pro Zeile anzeigt, so wird dieser Artikel ohne jegliche Varianten / Optionen / Texteingabefelder in den Warenkorb des Kunden gelegt -> dies ist meistens nicht im Sinne des Shopbetreibers, deshalb sei an dieser Stelle davor gewarnt. Solcherlei Artikel kann man nur mit der einspaltigen Darstellung vernünftig verknüpfen. Sobald man als Anzahl eine Zahl grösser 1 eingibt, wird per Default das Standard-Template _artikel_setauswahl.tpl.html benutzt.
  • Abhängigkeit von einer anderen Variationsgruppe: Wenn man z.B. eine Grusskarte realisieren möchte und dazu noch ein Papier mit Text, der vom Shopkunden definierbar ist, so sind die Variationsgruppe, welche Grusskarten anbietet und die Variationsgruppe, welche den Grusskartentext(artikel) mit den Texteingabefelder beinhaltet logisch miteinander verknüpft. Man kann z.B. keinen Grusskartentext bestellen, wenn man nicht auch eine Grusskarte bestellt - noch dazu, wenn eine Grusskarte optional ist. Der PepperShop kann deshalb Variationskategorien abhänig von einer anderen Variationsgruppe machen - auf diese Weise würde der Shop es nicht erlauben ein Artikel-Set in den Warenkorb zu legen, wenn nur ein Grusskartentext, aber keine Grusskarte angegeben/ausgewählt wurde. Mit dieser Einstellung gibt man an, von welcher anderen Variationsgruppe diese Variationsgruppe abhängig ist, man kann in einem Dropdown Menü von allen Variationsgruppen dieses Aritkel-Sets eine Variationsgruppe auswählen.
  • Startbild: Welches Bild soll als Platzhalter angezeigt werden, wenn noch kein Artikel aus dieser Variationsgruppe ausgewählt wurde? -> Wenn hier nichts definiert wird (leeres Texteingabefeld), wird das Shop-Defaultstartbild verwendet.
  • Startbild: Welches Bild soll als Platzhalter angezeigt werden, wenn noch kein Artikel aus dieser Variationsgruppe ausgewählt wurde? -> Wenn hier nichts definiert wird (leeres Texteingabefeld), wird das Shop-Defaultstartbild verwendet.
  • Auswahlbild: Welches Bild soll als Platzhalter angezeigt werden, wenn noch kein Artikel aus dieser Variationsgruppe ausgewählt wurde? -> Wenn hier nichts definiert wird (leeres Texteingabefeld), wird das Shop-Defaultauswahlbild verwendet.
  • Templatedatei: Damit man die Darstellung pro Variationsgruppe ganz den Anforderungen der darin zur Auswahl präsentierten (Variations)Artikel anpassen kann, wurde diese Konfigurationsmöglichkeit geschaffen. Hier kann man angeben, welche Templatedatei der Shop benutzen soll, wenn der die Artikelauswahl für diese Artikel-Set Variationsgruppe rendert. Wichtig: Unbedingt oben den Text zum Titel ‘Artikel-Set Variationsgruppen(eigenschaften) bearbeiten’ lesen!
  • Optionale Variationsgruppe: Wenn die Auswahl eines Artikels aus dieser Variationsgruppe nicht zwingend gefordert wird, so kann man diese Artikel-Set Variationsgruppe als optional (nicht obligatorisch) bezeichnen, indem man ein Häkchen in der untersten Einstellungsmöglichkeit setzt. Der PepperShop gibt dem Shopkunden dann auch die Wahl einen bereits ausgewählten Artikel aus dieser Variationsgruppe wieder zu entfernen.

Artikelzuordung (Variationsartikel -> Artikel-Set Variationsgruppe)

  • Vorausgewählt: Soll ein Artikel beim Anzeigen dieser Artikel-Set Variationsgruppe eines neuen, noch nicht konfigurierten Artikel-Sets bereits einen Variationsartikel vorausgewählt sein? Wenn ja, kann man hier via Radio-Button angeben, welchen Artikel man vorselektiert haben möchte.
  • Name: Zeigt den Namen des (Variations)Artikels an. Wenn man auf ihn klickt, kann man den Artikel selbst direkt bearbeiten.
  • Artikel-ID: Shopinterne Artikel-ID, hilft auch einen Artikel schnell in der Datenbank ausfindig zu machen.
  • Artikel-Nr.: Vom Shopbetreiber vergebene Artikelnummer zur eindeutigen Referenzierung des Artikels
  • Position: Hier kann angegeben werden, an welcher Stelle (von oben) der Variationsartikel dargestellt werden soll [1..n]. Dabei gilt zu beachten, dass man weder Lücken in der fortlaufenden Nummerierung mit Inkrement 1 haben darf, noch darf die Nummerierung mit 0 beginnen. Gültig ist: ‘eins bis soviel, wie man hat’. Bitte auch beachten, dass die Reihenfolge der Variationsartikel hier in der Administration immer aufsteigend sortiert angezeigt wird.
  • Operationen: Zur Operation ‘ändern’ siehe weiter unten. Entfernen ist ziemlich logisch: Man entfernt damit die Verknüpfung eines Artikels mit der gerade bearbeiteten Variationsgruppe, es werden keine Artikel gelöscht.

Wenn man in der Anzeige aller Variationsartikel einer Artikel-Set Variationsgruppen eines Artikel-Set(s) (Hauptartikels) auf den Button ‘ändern’ oder ‘Einen weiteren Artikel verknüpfen’ klickt, so kann man irgend einen bestehenden Artikel (kein Artikel-Set Hauptartikel) wählen um der Variationsgruppe so einen Artikel mehr zuzufügen. Der Shopkunde kann dann aus dieser Auswahl einen Variationsartikel auswählen um so sein Artikel-Bundle / Artikel-Set zu konfigurieren (Konfektioneierung eines Artikel-Sets). Die Auswahl eines Artikels erfolgt über die Auswahl einer Kategorie um dort einen Artikel dieser Kategorie anzugeben. Dieser Artikel wird lediglich mit dem Artikel-Set verknüpft, er ist sonst aber in keiner Weise eingeschränkt oder gar nicht mehr sichtbar. Man kann ihn ganz normal weiter benutzen.

Begriffsdefinitionen / Glossar

  • Artikel-Set: Ein Artikel-Set kann als Meta-Artikel verstanden werden, der ein Bundle aus mehreren anderen Artikel darstellt, aber trotzdem selbst auch ein Artikel ist. Wenn man also von einem Artikel-Set spricht, sind immer der Artikel und weitere, in Variationsgruppen organisierte und verknüpfte, Artikel gemeint.
  • Artikel-Set Instanz: Wenn man ein Artikel-Set am konfektionieren ist (am auswählen der Varianten seiner Variationsgruppen) oder es bereits in den Warenkorb gelegt hat (fertig konfektioniertes Artikel-Set). So hat der Shopkunde eine mögliche Auswahl dieses Artikel-Sets ausgewählt und für sich in seinen Warenkorb gelegt. Dies ist nun eine Instanz eines Artikel-Set, da hier nicht nur das Artikel-Set mit seinen Variationsgruppen inkl. aller dort jeweils möglichen Variationsartikel (Varianten) beschrieben ist, sondern (zusätzlich) ist für jede nicht optionale Variationsgruppe definiert, für welchen Variationsartikel einer jeden Variationsgruppe des Artikel-Sets sich der Shopkunde denn nun entschieden hat. Ausserdem sollte man nicht vergessen, dass ein Shopkunde ja auch mehrere Instanzen eines Artikel-Sets in einer Bestellung ordern kann. Man kann also die OO-Benennung Klasse (Artikel-Set) und Objekt (Instanz eines Aritikel-Sets) durchaus anwenden - auch wenn sie wohl nicht allen Shopbetreibern bekannt sein möge.
  • Variationsartikel: Mit einem Artikel-Set verknüpfte Artikel -> über Variationsgruppen -> Varianten -> FK_Variationsartikel_ID (in der Tabelle artikel_variationen). Im Artikelobjekt selbst gibt es analog zum $optionsartikel Array nun auch einen $variationsartikel Array. Hier drin sieht man alle mit dem aktuellen Artikel verknüpften Variationsartikel.
  • Artikel-Set Hauptartikel: Mit dieser Bezeichnung wird ein Artikel beschrieben, dem mehrere Artikel-Set Variationsgruppen zugeordnet sind.
  • Artikelauswahl (Ansicht/Darstellung): Mit diesem Begriff ist die Darstellung gemeint, in welcher ein Shopkunde aus der angezeigten Auswahl an Variationsartikeln einen auswählen kann, der dann für diese Artikel-Set Variationsgruppe in den Warenkorb gelegt wird. Die Implementierung befindet sich in {shop_dir}/shop/USER_ARTIKEL_HANDLING_AUFRUF.php im Bereich $darstellen == 7.
  • Verbindung: Um einem Artikel verschiedene Variationsartikel zuzuordnen, kann man wie folgt vorgehen: Zuerst erstellt man eine mit dem (Haupt)Artikel verknüpfte Variationsgruppe (Tabelle artikel_variationsgruppen). Diese hat das Feld is_as_var_grp = 'Y' gesetzt, damit der Shop erkennt, dass es sich um eine Variationsgruppe handelt, welche Variationsartikel enthält. Nun erstellt man in der Tabelle artikel_variationen Verknüpfungen, welche weitere Artikel (FK_Variationsartikel_ID) mit der vorher definierten Variationsgruppe verlinken. Der Rest geschieht vollautomatisch (Erkennung von Gruppen / Warenkorb / …).
  • Variationsartikel Ablage: Empfehlung: Die Variationsartikel sollten in der Kategorie Nichtzugeordnet abgelegt werden, da dann sichergestellt ist, dass die Artikel nicht gefunden werden (nicht via Business-Connector und nicht via Suchmaschinen-Index. Dies ist in seltenen Fällen aber auch erwünscht, dann nämlich, wenn die Variationsartikel auch als einzelne Artikel verkauft werden.
  • asid: Diese Bezeichnung steht für Artikel-Set Unique ID (String). Sie wird via PepperShop-API Funktion get_unique_id() Funktion erzeugt und identifiziert eine Instanz eines Artikel-Sets. Die ID wird in der Tabelle artikel_bestellung (Warenkorb) mit der Session-ID des Shopkunden verknüpft
  • as_: Diese oft im Shop Sourcecode verwendete Abkürzung steht für Artikel-Set. Dieser Code wird auch oft in der Datenbank verwendet.
  • Artikel-Set PepperShop-API: Für diese Funktionalität mussten viele PepperShop-Funktionen erweitert oder angepasst werden. Speziell für die Artikel-Sets geschriebene Funktionen enthalten immer artikel_set / artikelset oder as_ in ihrem Namen.

Datenbankfelder und ihre Bedeutung

Für fortgeschrittene Shop-Administratoren (HTML, PHP, SQL Kenntnisse):

Tabelle artikel

  • as_keep_anzahl (Y/N): Wenn gleich Y, so wird nach dem Nachbearbeiten eines bereits in den Warenkorb gelegten Artikel-Sets dessen Anzahl nicht nochmals erhöht.
  • as_show_nacheinander (Y/N): Wenn gleich Y, so werden die dem Artikel-Set Hauptartikel zugewiesenen Variationsgruppen nicht gleich alle miteinander zur Auswahl angezeigt, sondern es wird, basierend auf der Gruppen_Nr-Spalte in artikel_variationsgruppen, immer nur gerade die nächste Artikel-Set Variationsgruppe zur Auswahl angezeigt, die noch nicht konfektioniert wurde -> von welcher der Shopkunde also noch keinen darin enthaltenen Variationsartikel ausgewählt hat. Auf diese Weise lässt sich ein komplexes Artikel-Set mit einer einfachen Benutzerführung ausstatten. Tipp: Man kann in das jeweilige Auswahlbild eine Nummerierung einbinden dann ist der fortlaufende Konfigurationsprozess für den Kunden auch einfacher ersichtlich.

Tabelle artikel_variationsgruppen

  • is_as_var_grp (Y/N): Erkennung, ob es sich um eine normale Variationsgruppe oder um eine mit Variationsartikel (Y) handelt.
  • as_optional (Y/N): Flag, ob die Auswahl eines Variationsartikels aus dieser Variationsgruppe für die erfolgreiche Auswahl dieses Artikel-Sets benötigt wird.
  • as_startbild (String): Bild, welches angezeigt wird, wenn für die aktuelle Instanz (referenziert durch eine asid) dieser Variationsgruppe noch keine Variante (Artikel) ausgewählt wurde
  • as_auswahlbild (String): Bild, welches als Auswahl-Button angezeigt wird. Erkennung des Bildformats geschieht durch das Ende des Strings (.gif, .jpg, .png). Falls es ein Leerstring ist, wird das shopweite Default-Auswahlbild verwendet und angezeigt.
  • as_preselected_artikel (Integer): Verknüpfte Artikel-ID um einen vorgewählten Artikel in einer Artikel-Set Variationsgruppe definieren zu können. Wenn = 0, bedeutet das, dass kein Artikel vorselektiert wurde und es wird das as_startbild[_default] angezeigt. Achtung: Dieses Feld ist im Artikel-Array / -Objekt auch mit einer ID ungleich 0 geladen, wenn in der Datenbank kein preselected Artikel angegeben wurde, aber für die aktuelle Artikel-Set Instanz im Warenkorb des Shopkunden für diese Variationsgruppe schon ein Artikel ausgewählt wurde.
  • as_templatefile (String): Definiert das zu verwendende Template-File, wenn die Auswahl der Artikel der Variationsgruppe angezeigt wird. Diese Angabe ist optional, wenn keine Angabe gemacht wird (Leerstring), so wird das shopweit definierte Standardtemplate verwendet (definiert als Shop-Settings New Eintrag in der Tabelle shop_settings_new). Wenn man bei ‘Anzahl pro Zeile’ einen Wert grösser als 1 hat, so muss man bei selbst angepassten Templates die Datei artikel_set_auswahl.tpl.html als Vorlage benutzen. Bei nur einem Artikel pro Zeile muss man hingegen mit _artikel_set_auswahleins.tpl.html als Vorlage arbeiten. Da es in beiden Template-Dateien verschiedene Vorlagen gibt, kann man die Dateien nicht mischen. Beim Template ..._eins... hat man mehr Darstellungsmöglichkeiten, dafür nur einen Artikel pro Zeile.
  • as_depend_on (Integer): Hier kann man die Gruppen_ID einer weiteren Variationsgruppe eingeben, um festzulegen, dass die Auswahl eines Variationsartikels aus der aktuellen Variationsgruppe zwingend nötig ist, wenn ein Variationsartikel aus der via Gruppen_ID verlinkten Variationsgruppe ausgewählt wurde.
  • as_use_stufe_3 (Y,N): Wenn hier Y gewählt wird, so wird bei einem Klick auf das in der Variationsartikelauswahl angezeigte Bild nicht zum PopUp mit einer Grossansicht des Artikelbildes führen, sondern es wird unterhalb der Variatonenauswahl eine dritte Stufe der Artikelanzeige eingeblendet, wo man das Artikelbild inkl. dessen Beschreibung sieht. Erst hier ist das PopUp mit dem Bild verlinkt.

Tabelle artikel_bestellung

  • asid (String, 32 Zeichen lang, Alphabet = Hex: Artikel-Set Unique ID: Wenn diese ungleich einem Leerstring ist, bedeutet dies, dass eine Artikel-Set Instanz gerade konfektioniert wird oder bereits in den Warenkorb gelegt wurde.
  • as_vargrp_id (Integer): Wenn diese Artikel-Set Variationsgruppen-ID grösser als 0 ist, bedeutet dies, dass es sich um die aktuelle Auswahl eines Artikels aus einer Variationsgruppe eines Artikel-Set Artikels handelt. Die asid wird in diesem Fall auch kein Leerstring sein. Allerdings ist beim Artikel-Set Artikel (Hauptartikel) selbst dieses Feld (as_vargrp_id) immer ein Leerstring / 0.
  • as_vargrp_bez (String): Name (Feld Gruppentext) der Variationsgruppe, welcher dieser Variationsartikel zugeordnet ist.
  • as_status (String): Dieses Feld beschreibt den aktuellen Status der Artikel-Set Instanz. Folgende Stati sind definiert: konfektionieren, komplett, im_warenkorb. Somit kann unterschieden werden, ob eine Instanz eines Artikel-Sets mit seinen Variationsartikeln im Warenkorb schon angezeigt und berechnet werden muss, oder ob der jeweilige Artikel noch unsichtbar ist. Konfektionieren steht für alle Variationsartikel einer Artikel-Instanz, welche noch nicht komplett ausgewählt wurde, das heisst konkret, dass der Shopkunde noch nicht für alle obligatorischen Variationsgruppen einen Variationsartikel ausgewählt hat. Komplett steht für den Zustand der Artikel-Set Instanz, wenn alle Pflichtvariationsgruppen definiert sind, der Kunde das Artikel-Set aber noch nicht explizit in seinen Warenkorb gelegt hat. Das Flag im_warenkorb steht schliesslich für den Status, dass das Artikel-Set (Instanz) nun vom Shopkunden aktiv in den Warenkorb gelegt wurde. Es wird jetzt auch berechnet und angezeigt. Anmerkung: Wenn ein Shopkunde eine Artikel-Set Instanz erstellt, welche den Status konfektionieren / komplett hat und er dann eine andere Artikel-Set Instanz konfektioniert und in den Warenkorb legt (Status im_warenkorb), so werden alle anderen Artikel-Set Instanzen die seiner Session-ID zugeordnet werden können augenblicklich wieder gelöscht, sobald er die neue Artikel-Set Instanz in den Warenkorb legt. Auf diese Weise werden Artikel-Set-Instanz-Leichen verhindert. Eine automatisierte Tabellenoptimierung via periodischem Task ist wichtig: Details, siehe Kapitel 14. Weiteres.

Einträge in der Tabelle shop_settings_new

  • as_startbild_default: Default Bild, welches angezeigt wird, wenn für eine Variationsgruppe mit verlinkten Variationsartikel noch keine Auswahl getätigt wurde. Dieses Bild ist ein shopweites Fallback, falls in der Variationsgruppe selbst (Tabelle artikel_variationsgruppen) das Feld as_startbild noch nicht definiert wurde (Leerstring).
  • as_auswahlbild_default: Default Bild, welches dem Shopkunden angezeigt wird, um eine Variante aus der Artikel-Set Variatonsgruppe auszuwählen (Button).
  • as_entfernen_bild_default: Default Bild, welches dem Shopkunden angezeigt wird, um eine optionale Variante aus der Artikel-Set Variatonsgruppe zu entfernen (Button).
  • as_aendernbild_default: Default Bild, welches dem Shopkunden angezeigt wird, um eine bereits ausgewählte Variante aus der Artikel-Set Variatonsgruppe zu ändern - eine andere Variante auswählen. (Button).
  • as_templatefile_default: Definiert das zu verwendende Templatefile bei der Anzeige der Auswahl der Artikel einer Artikel-Set Instanz ({shopdir}/shop/USER_ARTIKEL_HANDLING_AUFRUF.php, $darstellen == 7) - shopweiter Default.
  • as_anzahl_artikel_pro_zeile: Definiert den shopweit geltenden Defaultwert der Anzahl dargestellter Artikel pro Zeile in der Artikelauswahl, ebenfalls in USER_ARTIKEL_HANDLING_AUFRUF.php, $darstellen == 7
  • as_use_default_bild_if_no_pic: Wenn diese Einstellung = ‘Y’ ist, so wird das Bild eines ausgewählten Artikels in der Darstellung des Artikel-Set Hauptartikels mit seinen Variationsgruppen, dessen Bild nicht vorhanden ist, durch das in as_startbild_default angegebene Bild ersetzt. Per Default ist diese Einstellung = ‘N’, ein nicht vorhandenes Bild wird also nicht durch das Default-Startbild ersetzt.
  • as_anzahl_var_grp_pro_zeile: Definiert die Anzahl dargestellter Artikel-Set Variationsgruppen pro Zeile bei der Darstellung eines Artikel-Set Hauptartikels. Diese Einstellung gilt Shop weit, standardmässig ist dieser Wert = 1.

Weiteres

HINWEIS: Wenn Artikel-Sets in diesem Shop verwendet werden, sollte man sicherstellen, dass die Garbage Collection des Shops als periodischer Task aktiviert ist. Wie man das macht, sieht man in der Shop-Administration, im Menü ‘Shop-Einstellungen’ -> ‘Shop-Konfiguration’ -> ‘Operationen’ ganz unten bei den Links ‘Shop Optimierung’ (Bei UNIX/Linux Systemen z.B. ein wöchentlicher Cron Job in der Nacht mit wget auf den unter ‘Direktlink’ angegebenen Wert eingerichtet werden).

Von der Aktivierung der Steuerungskonstante _OPTIMIZE_TABLE_NACHBESTELLUNG in der Konfigurationsdatei {shop_verzeichnis}/shop/config.inc.php wird inzwischen eher abgeraten (aus Skalierungs- und Performancegründen).

Beispielkonfiguration Geschenkartikel

An folgendem Beispiel schauen wir uns eine mögliche Umsetzung an: Ein Geschenkartikel, bestehend aus Kuchen, Verpackungsmaterial, Schleife, Banner, Grusskarte und Grusskartentext. Die Zusammenstellung eines so umfangreichen Artikels soll der Kunde Schritt für Schritt umsetzen. Deshalb werden die Variationsgruppen eine nach der anderen angezeigt.

Wir schauen uns zuerst den kundenseitigen Konfektionierungsmechanismus anhand von Screenshots an und danach einige Administrationsmasken hierzu.

Bei diesem Artikel ist es so, dass die verknüpften Artikel jeweils immer dieselben Gewichte haben, deshalb trägt der Artikel-Set Hauptartikel ein Gewicht, die verknüpften Artikel haben jeweils nur Gewicht = 0kg. Auch der Preis ist so, dass die günstigste Konfigurationsmöglichkeit als Preis beim Artikel-Set Hauptartikel hinterlegt ist und nur die Aufpreis pflichtigen verknüpften Artikel haben den entsprechenden Aufpreis als Preisangabe. Hier kann man aber auch umgekehrt arbeiten und beim Hauptartikel alles = 0 belassen.

Falls man im Shop wenig (oder nur einen Hauptartikel) hat, so kann man z.B. mit einem verlinkten Deeplink auf diesen Artikel (Shop-Administration -> Massenmutationen -> Deeplinks) auf der Startseite beginnen. Bei Shops mit vielen verschiedenen Artikeln oder wo es nur in einer Unterkategorie Artikel-Sets gibt, ist dies natürlich anders.

Kundenseitiges Konfektionieren des Geschenkartikels

Bei diesem Artikel werden nun alle Schritte nacheinander angezeigt, hier die Screenshots:

Das Set zeigt zuerst die Auswahl des Hauptbestandteil, eines Kuchens. Da dieser noch nicht gewählt worden ist, wird das Auswahlbild angezeigt (grau) + der ‘wählen’ Button.

Nun zeigt der Shop eine Auswahl aktiver Artikel der Variationsgruppe für Kuchen an. Hier kann man direkt wählen oder noch die Details zum Artikel ansehen.

Wenn man auf ‘Details’ klickt, wird der dritte Screenshot gerendert. Man sieht ein Bild mit Zoom-Möglichkeit und den Namen + Beschreibung des Artikels. Auch hier kann man die Wahl durchführen.

Der Shop kehrt nach der Wahl automatisch zur Konfektionierung des Artikel-Sets zurück und zeigt nun die nächste Auswahlmöglichkeit an (süsse Verpackung, grau).

Bei der Auswahlseite wird hier ein eigenes Template verwendet, wo spezifische Anweisungen (hier Infotexte) stehen. Eigene Templates können lokalisiert sein.

Diese Auswahlmaske bietet keine dritte Stufe an (Detailansicht), deshalb kann man hier auch schon eine Stufe früher auf das Artikelbild klicken um eine gezoomte Anzeige zu erhalten (heute ist dies eine Fancybox).

Hier mit Artikel der Texteingabefelder hat.

Nun kann der fertig konfektionierte Artikel in den Warenkorb gelegt und gekauft werden.

Administration des Artikel-Sets für einen Geschenkartikel

Globale Artikel-Set Konfiguration

Liste der vorhandenen Artikel-Sets Hauptartikel in diesem Shop

Alle Variationsgruppen des Artikel-Set Hauptartikels (Geschenkartikel)

Eigenschaften der Variationsgruppe Kuchen

Eigenschaften der Variationsgruppe Empfängeradresse, mit eigenem Template

Verknüpfte Artikel einer Variationsgruppe (hier Kuchen)

Detailansicht: Artikel-Set Hauptartikel

Detailansicht: Verknüpfter Artikel in einer Variationsgruppe

Detailansicht: Verknüpfter Artikel mit Texteingabefeldern

Installation

Systemanforderungen

Um das Produkt Konfigurator / Artikel-Set Modul einsetzen zu können, ist mindestens ein PepperShop v.3.1 Professional oder Enterprise erforderlich.

Dateien kopieren und hochladen

Dieses Modul besteht aus zwei Dateien, die man in seinen installierten PepperShop kopieren muss. Dazu entpackt man zuerst das mitgelieferte ZIP Archiv dieses Moduls. Es sind folgende Dateien enthalten, hier mit ihren Zielverzeichnissen:

{shopdir}/shop/Admin/shop_artikel_set.php
{shopdir}/shop/Admin/shop_artikel_set_func.php

Die Dateien lassen sich einfach via FTP1 oder SCP zum Webserver hochladen. Der Platzhalter {shopdir} steht dabei für das Shopverzeichnis auf dem Webserver, wo unter anderem die Datei index.php zusammen mit README.txt zu finden ist.


  1. Z.B. mit dem kostenlosen Programm FileZilla Client
🌶️
🔥
🌶️