Das Plugin "Custom Products (v2)" bietet Dir die Möglichkeit, Artikel frei konfigurierbar und so komplett individualisierbar zu gestalten. Dies ist vor allem für diejenigen Artikel wichtig, bei denen Varianten zur Abbildung nicht ausreichen, sondern individuell konfiguriert werden sollen. Hierzu können Artikel mit aufgedrucktem Namen, Gravuren oder Visitenkarten gehören, um Beispiele zu nennen. Das "v2" im Namen steht dafür, dass das Plugin "Custom Products" in einer neuen Version vorliegt. In dieser Dokumentation erklären wir Dir, wie Du dieses Plugin installieren, einrichten und nach Deinen Wünschen konfigurieren kannst.
Diese Erweiterung findest Du in unserem Shopware Store, der einfachste Weg, ein bestimmtes Plugin zu finden, ist die Suchleiste.
Nachdem Du den Bestellvorgang abgeschlossen hast, logge Dich in das Backend Deines Shops ein. Jetzt gehst Du zu Konfiguration > Plugin-Manager > Meine Einkäufe. Du musst dich einloggen und auf die Schaltfläche Aktualisieren klicken. Die neue Erweiterung ist nun aufgelistet und kann installiert werden. Nach der Installation der Erweiterung gehst Du auf den Menüpunkt Installiert und aktualisierst die Übersicht. Jetzt kannst Du die Erweiterung aktivieren. Abschließend löscht Du unter Einstellungen > Cache/Performance > Shop-Cache löschen den Cache und aktualisierst das Backend.
Wenn Du bisher noch die erste Version des Plugins "Custom Products" verwendest, kannst Du Deine Gruppen und Optionen dieser Version zur neuen Version migrieren. Hierzu wirst Du beim Öffnen der Übersicht den Button "Migration (1)" finden.
Nach einem Klick auf diesem Button öffnet sich das folgende Fenster, in dem die Gruppen aufgelistet sind, die Du ins neue Plugin übernehmen kannst (1). Nachdem Du dort die gewünschten Gruppen zur Migration ausgewählt hast, kannst Du mit einem Klick auf "Migration starten" (2) die Migration beginnen. Dabei kannst Du übrigens festlegen, ob Du die Schaltfläche zur Migration nach diesem Schritt ausblenden möchtest oder nicht (3) .
In der darauf folgenden Übersicht kannst Du den Fortschritt und das Ergebnis der Migration kontrollieren. Ein Fortschrittbalken signalisiert dort den Fortschritt der Migration (1). Im Bereich "Migrationsfortschritt" kannst Du so einsehen, ob Deine Gruppen erfolgreich migriert werden konnten (2). Sollte während der Migration etwas aufgetreten sein, dass Deiner Aufmerksamkeit bedarf, kann über ein entsprechendes Icon ein Log eingesehen werden (3).
Wenn die Migration erfolgreich war, findest Du Deine so erstellte Vorlage in der Übersicht der neuen Version. Betreffend der Bestellungen, die mit der alten Custom Products Version abgeschlossen wurden, können die Details zu diesen Bestellungen im internen Kommentar der Bestellungen gefunden werden.
Bitte denke unbedingt daran, die Migration im Voraus auf einem Testsystem einmal zu prüfen und in jedem Fall eine Datensicherung zu machen, bevor die Migration durchgeführt wird. Auf diese Weise kann in einem eventuellem Fehlerfall schnell reagiert werden.
Die erste und zweite Version des Plugins "Custom Products" könnten Seiteneffekte verursachen, wenn sie gleichzeitig installiert sind. Bitte denke also unbedingt daran, dass nach der Daten Migration das alte Plugin deinstalliert wird und der Cache Deines Shops geleert werden muss, um eine korrekte Funktion der neuen Version zu gewährleisten! Die Daten zu den bestehenden Bestellungen bleiben im internen Kommentar bestehen.
Beim Import bzw. Export von Artikeldaten werden die Optionen nicht automatisch übernommen!
Als erstes bietet es sich an sich mit den Einstellungen des Plugins vertraut zu machen. Wie auch bei der vorherigen Version, sind zur Integration des Plugins einige Konfigurationen notwendig. Du findest diese Einstellungen entweder im Plugin Manager, wenn Du dort das Plugin zur Bearbeitung öffnest oder unter Einstellungen > Grundeinstellungen > Weitere Einstellungen > Custom Products (v2).
Hier können folgende Einstellungen getätigt werden:
Im Plugin "Custom Products" werden die einzelnen Konfigurationen der Artikel, also die genaue Konfiguration die der Kunde in Deinem Shop tätigt, für eine von Dir bestimmte Zeitdauer gespeichert. Diese Konfigurationen sind über einen alphanumerischen Wert aufrufbar, der dem Link zum Artikel angehangen wird. So kann der Kunde über den Link seines Artikels seine Konfiguration innerhalb der festgelegten Zeitdauer aufrufen und sogar weiterverschicken.
Diese Konfigurationen werden in der Datenbank von Deinem Shop gespeichert und können nach Ablauf der von Dir bestimmten Zeitspanne über den Cronjob "CustomProducts Hash GarbageCollector" gelöscht werden. Um diese Zeitspanne als Anzahl in Tagen zu definieren, kannst Du die dazugehörige Einstellung verwenden.
Damit der Cronjob korrekt ausgeführt werden kann, muss dieser zuvor konfiguriert werden. Hierzu gehört die Aktivierung des Plugins "Cron". Detaillierte Informationen zur Einrichtung und Verwendung eines Cronjobs findest Du hier.
Eine Übernahme der Optionen bei Abo-Bestellungen ist aktuell nicht vorgesehen. Entsprechend ist es nicht möglich eine Folgebestellung mit CustomProducts-Optionen auszulösen.
Wenn Du das Plugin öffnest, öffnet sich zunächst folgendes Fenster:
In dieser Übersicht kannst Du Deine bereits erstellten Vorlagen einsehen (4). Solltest Du das Plugin zum ersten Mal öffnen, ist diese Übersicht natürlich noch leer. Über die Schaltfläche "Hinzufügen" (1) kannst Du dabei eine neue Vorlage erstellen, über "Markierte Einträge löschen" (2) werden vorher ausgewählte Vorlagen gelöscht. Über die Suche (3) kannst Du gewünschte Vorlagen schnell wiederfinden. Zudem kannst Du natürlich auch über die gewohnten Icons (5) einzelne Vorlagen löschen, zur Bearbeitung öffnen und duplizieren.
Das Fenster zum Anlegen einer Vorlage ist in drei Bereiche untergliedert: "Konfiguration" (1), Produkte (2) und "Optionen" (3)
Konfiguration
Hier legst Du die Grundeinstellungen Deiner Vorlage fest. Folgende Einstellungen kannst Du hier pflegen:
In der neuen Version kann man den Custom Products Vorlagen ihre Artikel direkt im Modul selbst zuweisen. Dies wird über den Reiter "Produkte" gelöst. Hier bietet sich Dir die folgende Ansicht.
Über das Suchfeld (1) kannst Du Artikel über ihren Namen oder über die Artikelnummer finden und durch einen Klick direkt wiederfinden. Mit einem Klick auf den gewünschten Artikel lässt sich dieser von Dir direkt hinzufügen.
Option hinzufügen
Im dritten Reiter "Optionen" der Vorlage kannst Du Deiner Vorlage und so auch dem vorhin zugewiesenem Artikel seine Optionen zuweisen. Hierüber werden dem Artikel also seine Möglichkeiten bereitgestellt, wie er vom Kunden individualisiert werden kann. Dieser Reiter ist wie folgt aufgebaut:
Ähnlich wie zu der Übersicht über Deine Vorlagen, werden an dieser Stelle alle bisher angelegten Optionen aufgelistet. Über"Hinzufügen" (1) kannst Du Deiner Vorlage die neue Option hinzufügen, sowie über "Markierte Einträge entfernen" (2) zuvor selektierte Optionen entfernen. Darüber hinaus kannst Du über die bereits bekannten Icons Deine Option zur Bearbeitung öffnen oder auch wieder löschen. Übrigens kannst Du hier in der Übersicht den Namen der Option über einen Klick darauf direkt ändern oder auch die Reihenfolge der Optionen über Drag & Drop ändern.
Wenn Du Deine Option neu hinzufügen möchtest, öffnet sich dabei das folgende Fenster mit zunächst 5 Möglichkeiten der Konfiguration.
Hierüber kannst Du also folgende, erste Angaben pflegen:
Sobald Du also einen Optionstyp gewählt hast, werden weitere Möglichkeiten zur Konfiguration einer Option ermöglicht. Diese können von Option zu Option verschieden sein. Am Beispiel einer Checkbox sieht das Fenster zur Einrichtung wie folgt aus:
Hier kannst Du nun folgende Einstellungen tätigen:
Verschiedene Optionstypen
Im Feld "Typ" kannst Du zwischen verschiedenen Optionstypen wählen, um dem Kunden eine Vielfalt an Konfigurationsmöglichkeiten zu bieten. Die folgenden Möglichkeiten hast Du hierzu:
Textfeld: Mit diesem Typ kannst Du ein einfaches Textfeld anlegen, in dem der Kunde einen kurzen Text hinterlegen kann.
Textbereich: In Optionen diesen Typs kann der Kunde einen einfachen, aber längeren Text hinterlegen.
Nummernfeld: In diesem Feld können nur Nummern eingegeben werden. Hierbei kann im Backend noch ein Minimal- und Maximalwert sowie ein Intervall konfiguriert werden, um die Nummerneingaben Deinen Anforderungen anzupassen.
Checkbox: Mit dieser Option kannst Du dem Kunden mehrere vorgefertigte Antwortmöglichkeiten bereitstellen, welche dann im Frontend als Checkbox angezeigt werden. Der Kunde kann bei diesem Typ mehrere der Antworten auswählen.
Drop-Down Feld: Bei dieser Option bietest Du dem Kunden ein Menü zum Ausklappen, in dem er eine der angebotenen Antworten auswählen kann.
Mehrfachauswahl: In dieser Darstellungsform der Option kannst Du dem Kunden eine oder mehrere Antwortmöglichkeiten anbieten, die dann in einem Auswahlfenster zur Verfügung gestellt und per Mausklick selektiert werden können. Mit der STRG-Taste sind auch hier mehrere Angaben möglich.
Einfachauswahl : Über diese Option kannst Du den Kunden zwischen mehreren Angaben wählen lassen, während hier nur eine Angabe ausgewählt werden kann.
Farbauswahl: Über diesen Typ kannst Du für den Kunden eine Auswahl konfigurieren, in dem dieser sich zwischen mehreren Farben entscheiden kann.
Bildauswahl: Hier kannst Du dem Kunden vordefinierte Bilder zur Auswahl anbieten, die Du vorher über den Medienmanager hochladen musst. Auch hier ist eine Mehrfachauswahl möglich, wenn Du dies wünschst.
Datei-Upload: Über diesen Typ kannst Du es dem Kunden erlauben, verschiedene Dateien hochzuladen. Dementsprechend kannst Du über das Backend einstellen, wie viele Dateien hier hochgeladen werden und wie groß diese sein dürfen. Grundsätzlich ist der Upload der folgenden Dateitypen möglich: png, jpg, jpeg, tiff, svg, gif, txt, ai, eps, pdf.
Bild-Upload: Über diesen Optionstypen können nur Bilder hochgeladen werden. Ähnlich wie beim Date-Upload kannst Du auch hier die Anzahl und Größe der Dateien festlegen.
Datumsfeld: Hier kannst Du es dem Kunden ermöglichen, ein Datum anzugeben. Hier ist es übrigens im Backend möglich, eine Zeitspanne zu konfigurieren.
Zeitfeld: Über diesen Optionstyp kannst Du im Artikel eine Zeitangabe anbieten. Auch hier ist die Angabe eines Zeitraums möglich.
HTML Editor: Mit diesem Optionstyp kannst Du im Artikel einen HTML-Editor hinzufügen, der eine formatierte Texteingabe ermöglicht.
Werte definieren
Einige dieser Optionstypen benötigen vorgefertigte Angabemöglichkeiten, zwischen denen der Kunde im Frontend wählen soll. In den betreffenden Optionen hast Du deshalb die Möglichkeit, Werte hinzuzufügen. Das geschieht im folgenden Fenster:
Beim Erstellen der Option kannst Du also über die Angabe der folgenden Informationen einen Wert hinzufügen:
Über Übernehmen (6) wird der Wert in die Option mit übernommen, sowie über Abbrechen (7) verworfen.
Step-by-Step Modus
In der Vorlage kannst Du den sogenannten "Step-by-Step Modus" aktivieren. Dies bringt eine komplett neue Darstellungsmöglichkeit mit. In diesem Modus wird die Konfiguration Schritt für Schritt möglich gemacht, ähnlich wie bei einem Produktberater. Im Frontend sieht dieser Modus wie folgt aus:
Der Kunde kann sich hier also nach und nach durch die Konfiguration klicken oder auch zwischen den einzelnen Optionen frei wechseln. Wenn der Kunde mit seiner Konfiguration zufrieden ist, kann dieser die Konfiguration mit einem Mausklick auf "Konfiguration übernehmen" abschließend und den Artikel wie gewohnt in den Warenkorb legen.
Bestätigungsmöglichkeit der Eingaben
Um sich gegen Falschangaben der Kunden zu schützen, bietet das Plugin eine Möglichkeit zur Bestätigung der Angaben. Du kannst dazu in Deiner Vorlage die Einstellung "Zwingen Sie den Benutzer die Eingabe zu bestätigen" aktivieren. In diesem Fall muss der Kunde bestätigen, dass alle seine Angaben im konfigurierten Artikel korrekt sind. Andernfalls kann der Kunde seinen Artikel nicht in den Warenkorb legen und so nicht bestellen. Im Frontend ist diese Funktion wie folgt gestaltet:
Du kannst für den gewünschten Artikel auch direkt aus dem Artikelmodus heraus eine Vorlage erstellen. Hierzu findest Du im Artikelmodul im Tab "Stammdaten" einen Bereich zu Custom Products.
Sollte der Artikel schon eine Vorlage besitzen, ist diese bei der "Custom Products Vorlage "(1) angegeben. Über die Schaltfläche "Jetzt konfigurieren (2)" kann man diese Vorlage bearbeiten. Ist noch keine Vorlage vorhanden, kannst Du an dieser Stelle eine neue erstellen. Ein Mausklick leitet Dich dort in das Custom Products Modul weiter.
In diesem Abschnitt möchten wir Dir zeigen, wie die gesamte Einrichtung im Frontend aussehen kann. Um ein Beispiel zu zeigen, haben wir einen Artikel erstellt und mit Optionen versehen. Ein konfigurierter Artikel kann also im Frontend wie folgt aussehen, wenn der Step-by-Step Modus nicht aktiv ist:
Bei Klick auf "In den Warenkorb" kann der Artikel natürlich auch ohne zusätzliche Optionen gekauft werden, sofern keine der Optionen als Pflichtfeld festgelegt wurden. Sind Pflichtfelder definiert, wird hierauf direkt im Artikel hingewiesen. Wenn in den Optionen Aufschläge definiert sind, werden diese im Artikel angezeigt, sobald der Kunde die betreffenden Optionen konfiguriert hat. Diese Preisübersicht ist in Stück- und Einmalpreise unterteilt:
Nachdem der Artikel nun so konfiguriert ist, wie der Kunde sich das vorstellt, wird dieser in den Warenkorb gelegt. Die Ansicht ist dann folgende:
Die separaten Konfigurationen werden im Warenkorb jeweils als einzelne Position aufgelistet, sodass der Kunde stets die beste Übersicht hat, wie der Artikel konfiguriert ist. Zusätzlich kann der Kunde seine Konfiguration über einen Mausklick auf "Konfiguration öffnen" erneut aufrufen. Der weitere Bestellabschluss läuft dann wie gewohnt ab.
In den Bestellpositionen einer abgeschlossenen Bestellung kannst Du die Konfiguration des Kunden einsehen. Hierzu kannst Du über das Custom Products Icon (1) des konfigurierten Artikel eine Übersicht über die gewählten Optionen des Kunden aufrufen.
Diese Übersicht sieht wie folgt aus und enthält alle Angaben des Kunden, sodass der individuell konfigurierte Artikel komplett eingesehen werden kann. Eventuell mitgegebene Dateien und Bilder können hierüber ebenfalls direkt geöffnet werden.
Auf den Belegen werden die Positionen, wie im Warenkorb auch, alle separat ausgewiesen. Ansonsten läuft die Belegerstellung wie gewohnt.
Über Variablen ist es möglich, auch die Informationen zu Custom Products in die eMail Vorlage sORDER einzubinden. Die dazugehörigen Variablen können dazu unter Variablen Information eingesehen und verwendet werden.
Im folgenden Beispiel findest Du einen möglichen Aufbau der Positionsliste dieser E-Mail Vorlage als HTML-Vorlage, in dem die Informationen zu Custom Products eingebunden werden:
<table width="80%" border="0" style="font-family:Arial, Helvetica, sans-serif; font-size:10px;">
<tr>
<td bgcolor="#F7F7F2" style="border-bottom:1px solid #cccccc;"><strong>Artikel</strong></td>
<td bgcolor="#F7F7F2" style="border-bottom:1px solid #cccccc;"><strong>Pos.</strong></td>
<td bgcolor="#F7F7F2" style="border-bottom:1px solid #cccccc;"><strong>Art-Nr.</strong></td>
<td bgcolor="#F7F7F2" style="border-bottom:1px solid #cccccc;"><strong>Menge</strong></td>
<td bgcolor="#F7F7F2" style="border-bottom:1px solid #cccccc;"><strong>Preis</strong></td>
<td bgcolor="#F7F7F2" style="border-bottom:1px solid #cccccc;"><strong>Summe</strong></td>
</tr>
{foreach item=details key=position from=$sOrderDetails}
{if !$details.swag_custom_product_original_mode}
<tr>
<td rowspan="2" style="border-bottom:1px solid #cccccc;">
{if $details.image.src.0 && $details.modus == 0}
<img style="height: 57px;" height="57" src="{$details.image.src.0}" alt="{$details.articlename}" />
{/if}</td>
<td>{$position+1|fill:4} </td>
<td>{$details.ordernumber|fill:20}</td>
<td>{$details.quantity|fill:6}</td>
<td>{$details.price|padding:8}{$sCurrency}</td>
<td>{$details.amount|padding:8} {$sCurrency}</td>
</tr>
<tr>
<td colspan="5" style="border-bottom:1px solid #cccccc;">{$details.articlename|wordwrap:80|indent:4}
{if $details.custom_product_adds}
{foreach item=custom_value key=position from=$details.custom_product_adds}
<br><br><i><b>{$custom_value.name}: (+{{$custom_value.netPrice+$custom_value.tax}|number_format:2:",":"."} {$sCurrency}):</b><br/>{if $custom_value.type == textfield || $custom_value.type == textarea || $custom_value.type == numberfield || $custom_value.type == date || $custom_value.type == time || $custom_value.type == wysiwyg} {$custom_value.selectedValue.0}{/if}
{if $custom_value.type == imageupload}{foreach item=image key=position from=$custom_value.values}<img width="50" height="50" src="{$image.path}"/><br/>{/foreach}{/if}
{if $custom_value.type == multiselect || $custom_value.type == checkbox || $custom_value.type == fileupload || $custom_value.type == colorselect || $custom_value.type == radio || $custom_value.type == select}{foreach item=select key=position from=$custom_value.values} {$select.name} (+{{$select.netPrice+$select.tax}|number_format:2:",":"."} {$sCurrency})<br/>{/foreach}{/if}
{if $custom_value.type == imageselect}{foreach item=image key=position from=$custom_value.values}<img width="50";height="50px" src="{$image.value}"/>{$image.name} (+{{$image.netPrice+$image.tax}|number_format:2:",":"."} {$sCurrency})<br/>{/foreach}{/if}
{/foreach}
{/if}
</td>
</tr>
{/if}
{/foreach}
</table>