Sie finden das Plugin im Shopware Store. Ich freue mich über Ihre Kommentare und Bewertungen.
Hinweise zur Installation des Shopware-Plugins „Individuelle, erweiterte Darstellung von Artikelvarianten in Warenkorb, Bestellung, E-Mails & mehr“
Plugin installieren, konfigurieren und loslegen!
Die Konfiguration kommt mit vorgegebenen Standardwerten, womit Sie sofort sichtbare Ergebnisse erzielen.
Was Ihnen das Plugin leider aus technischen Gründen nicht abnehmen kann, ist, falls gewünscht, die Anpassung der Templates der Bestellbestätigungs-E-Mail sowie der PDF-Dokumente. Hierfür stellen wir Ihnen im Folgenden ausführliche Informationen zur Verfügung. Darüber hinaus sind für Sie hier die durch das Plugin bereitgestellten Variablen dokumentiert. Gerne leiste ich Ihnen Support bei der Installation und Konfiguration.
Konfigurieren des Bestellbestätigungs-Templates
Um die Bestellbestätigungs-E-Mail anzupassen, werfen Sie einen kurzen Blick auf Einstellungen -> E-Mail-Vorlagen -> System-E-Mails -> sORDER im Shopware Backend. Dieses Plugin stellt Ihnen einige Variablen und Platzhalter zur Verfügung, welche Sie im Template verwenden können:
$sOrderDetails.n.brainImprovedVariantDisplay.OrderMail | Die erweiterten Artikeldaten (siehe unten) |
$sOrderDetails.n.brainImprovedVariantDisplay.OrderMail.bShow | Zusätzlicher boolescher Wert, ob Variablenerstellung in Bestätigungsmail aktiviert wurde. |
Ein Beispiel, wie das E-Mail-Template angepasst werden könnte, um Varianten anzuzeigen, sehen Sie in den Screenshots.
Vergessen Sie nicht, den Template-Editor auf HTML oder Plain Text umzustellen, abhängig von Ihren Anforderungen.
Konfigurieren der PDF-Belegerstellung
Analog zur Bestellbestätigungs-E-Mail müssen Sie auch die PDF-Templates anpassen. Die dazugehörigen Einstellungen finden Sie im Shopware Backend unter Einstellungen -> Grundeinstellungen -> Shopeinstellungen -> PDF-Belegerstellung. Die Template-Dateien selbst müssen Sie allerdings auf dem Dateisystem Ihres Servers im Verzeichnis [shopware folder]/themes/Frontend/[your theme]/documents editieren. Siehe dazu auch: https://developers.shopware.com/designers-guide/edit-newsletter-and-document-templates/#edit-document-templates sowie https://developers.shopware.com/designers-guide/edit-newsletter-and-document-templates/#edit-document-templates. Vergessen Sie nicht, in den Shop-Einstellungen auch das aktive Dokumenten-Template korrekt auf Ihr eigenes Theme/Template einzustellen!
Dieses Plugin stellt Ihnen dabei die folgenden Variablen und Platzhalter zur Verfügung:
$brainImprovedVariantDisplay.Documents | Die Container-Variable für die Plugin-Konfigurations-Variablen (siehe auch „Die Plugin-Konfigurationsdaten“). |
$Pages.n.brainImprovedVariantDisplay (in den Dokumenten-Templates wird $Pages.n vor allem als $position verwendet) | Die Variable, die die erweiterten Artikeldaten des Plugins enthält (siehe auch „Erweiterte Artikeldaten“). |
Ein Beispiel, wie Ihre eigene index.tpl aussehen könnte, um Varianten-Informationen darzustellen, sehen Sie im Folgenden:
{extends file='parent:documents/index.tpl'} {block name="document_index_table_name"} <td align="left" width="48%" valign="top"> {if $position.name == 'Versandkosten'} {s name="DocumentIndexPositionNameShippingCosts"}{$position.name}{/s} {else} {if $brainImprovedVariantDisplay.Documents.bShow && $position.brainImprovedVariantDisplay && $brainImprovedVariantDisplay.Documents.bArticleNameModification} {if $brainImprovedVariantDisplay.Documents.bArticleNameAppendVariants} {$position.name = $position.brainImprovedVariantDisplay.Documents.sArticleNameLong} {else} {$position.name = $position.brainImprovedVariantDisplay.Documents.sArticleNameShort} {/if} {/if} {s name="DocumentIndexPositionNameDefault"}{$position.name|nl2br|wordwrap:65:"<br />\n"}{/s} {/if} {if $brainImprovedVariantDisplay.Documents.bShow && $position.brainImprovedVariantDisplay} {$position.brainImprovedVariantDisplay.Documents.sVariantPrepend} {foreach $position.brainImprovedVariantDisplay.Documents.aArticleConfigurations as $configuration} {$configuration.formattedString} {/foreach} {$position.brainImprovedVariantDisplay.Documents.sVariantAppend} {/if} </td> {/block}
Erweiterte Artikeldaten
Für jeden Variantenartikel speichert dieses Plugin weitere Informationen in zusätzlichen Variablen und, falls entsprechend konfiguriert, überschreibt bestehende Variablen des Shopware-Systems – wie den Artikelnamen.
$[article].brainImprovedVariantDisplay.bIsVariantArticle | Boolescher Wert, ob [article] ein Variantenartikel ist, oder nicht. Steht bei Belegen nicht zur Verfügung. |
$[article].brainImprovedVariantDisplay.[view].aArticleConfigurations | Ein Array, das die Varianten-Konfigurationen des Artikels beinhaltet (siehe auch „Das Varianten-Konfigurationen-Array“). |
$[article].brainImprovedVariantDisplay.[view].sVariantPrepend | Das HTML, das den Varianten vorangestellt werden soll (z.B. der Start-Tag einer ul Liste). |
$[article].brainImprovedVariantDisplay.[view].sVariantAppend | Das HTML, das den Varianten angehängt werden soll (z.B. das Ende einer ul Liste). |
$[article].brainImprovedVariantDisplay.[view].sArticleNameShort | Nur der Artikelname ohne Varianten-Anhängsel |
$[article].brainImprovedVariantDisplay.[view].sArticleNameLong | Der Artikelname mit Varianten-Anhang gemäß Ihrer Konfiguration. |
[article] muss ersetzt werden durch die View-Variable, welche die Artikeldaten enthält (z.B. $sBasketItem für den Warenkorb oder $position für PDF-Belege), [view] durch die passende Sektion der Plugin-Konfiguration (entsprechend z.B. „Cart“ im Warenkorb oder „Documents“ für Belege; siehe dazu weiter unten „Die Plugin-Konfigurationsdaten“).
Das Varianten-Konfigurationen-Array
aArticleConfigurations ist die Speicherstelle für die verschiedenen Variantendetails, die ein Artikel besitzt. Jedes Element (Index) von aArticleConfigurations besteht aus drei Untervariablen:
$[view].aArticleConfigurations.n.variantName | Der Name der n-ten Varianteneigenschaft (z.B. „Größe“) |
$[view].aArticleConfigurations.n.variantText | Der Wert der n-ten Varianteneigenschaft (z.B. „XL“) |
$[view].aArticleConfigurations.n.formattedString | Der formattierte String der n-ten Varianteneigenschaft gemäß Ihrer Konfiguration (z.B. „Größe? XL!“) |
Das „n“ steht hierbei für den Index des Arrays-Elements. Bei drei Bestellartikeln bzw. Varianteneigenschaften eines Artikels kann n beispielsweise den Wert 0, 1 und 2 haben für den ersten, zweiten bzw. dritten Artikel bzw. die jeweilige n-te Varianteneigenschaft eines Artikels.
Die Plugin-Konfigurationsdaten
Dieses Plugin speichert auch die eigenen Konfigurationsparameter in jedem View ab, falls Sie auf diese zugreifen wollen. Ersetzen Sie [view] durch Cart, OffCanvasCart, OrderConfirmation, Notes, Orders, OrderMail oder Documents, abhängig davon, welche Konfiguration Sie benötigen.
$brainImprovedVariantDisplay.[view].bShow | Boolescher Wert, ob die Variantenbearbeitung aktiviert ist. |
$brainImprovedVariantDisplay.[view].sVariantFormat | Das HTML jeder Variantenzeile, z.B. „<li>{$variantName}: {$variantText}</li>“ |
$brainImprovedVariantDisplay.[view].sVariantPrepend | Das HTML, das der Variantenliste vorangestellt wird (z.B. ul Tag). |
$brainImprovedVariantDisplay.[view].sVariantAppend | Das HTML, das auf die Variantenliste folgt (z.B. ul Schluss-Tag). |
$brainImprovedVariantDisplay.[view].iVariantSorting | Index der gewählten Sortierung (0 = aus, 1 = aufsteigend, 2 = absteigend). |
$brainImprovedVariantDisplay.[view].bArticleNameModification | Boolescher Wert, ob der originale Artikelname überschrieben werden soll. |
$brainImprovedVariantDisplay.[view].bArticleNameAppendVariants | Boolescher Wert, ob die Artikelvarianten an den Artikelnamen angehängt werden sollen. |
$brainImprovedVariantDisplay.[view].sArticleNameFormat | Die Formatierung der Varianteninformationen im Artikelnamen. |
$brainImprovedVariantDisplay.[view].sArticleNameDelimiter | Das Trennzeichen zwischen Artikelnamen und Varianten. |
$brainImprovedVariantDisplay.[view].sArticleNameDelimiterConfiguration | Das Trennzeichen zwischen den jeweiligen Varianteninformationen. |
Gibt es Probleme? Debug logging
Wenn etwas nicht funktioniert, wie erwartet, und Sie mich eventuell kontaktieren wollen, ist es immer gut, Log-Dateien zur Verfügung stehen zu haben.
Seit Version 1.2.2 gibt es die Möglichkeit, das Plugin Logs erstellen zu lassen. Standardmäßig ist diese Option deaktivert, da wortwörtlich alles gespeichert wird, was das Plugin bearbeitet. Dies kann schon nach wenigen Seitenaufrufen schnell zu Log-Dateien von mehreren Megabytes führen.
Sie können den Ordner, in dem die Dateien erstellt werden sollen, konfigurieren, welcher auf [Shopware Wurzelverzeichnis]/log/ voreingestellt ist. Die Dateien werden nach dem Muster brainImprovedVariantDisplay-[Jahr-Monat-Tag].log benannt.
Darüber hinaus gibt es die Möglichkeit, das Plugin die Logs, die älter als eine bestimmte Anzahl an Tagen sind, löschen zu lassen (voreingestellt auf sieben Tage). Nichtsdestotrotz sollten Sie nicht vergessen, das Logging wieder zu deaktivieren, wenn Sie es nicht mehr benötigen.
Bitte beachten Sie aus Gründen des Datenschutzes auch, dass sämtliche Bestell-Daten und persönliche Daten Ihrer Kunden ebenfalls in den Log-Dateien abgespeichert werden.