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.OrderMailDie erweiterten Artikeldaten (siehe unten)
$sOrderDetails.n.brainImprovedVariantDisplay.OrderMail.bShowZusä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.DocumentsDie 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.bIsVariantArticleBoolescher Wert, ob [article] ein Variantenartikel ist, oder nicht. Steht bei Belegen nicht zur Verfügung.
$[article].brainImprovedVariantDisplay.[view].aArticleConfigurationsEin Array, das die Varianten-Konfigurationen des Artikels beinhaltet (siehe auch „Das Varianten-Konfigurationen-Array“).
$[article].brainImprovedVariantDisplay.[view].sVariantPrependDas HTML, das den Varianten vorangestellt werden soll (z.B. der Start-Tag einer ul Liste).
$[article].brainImprovedVariantDisplay.[view].sVariantAppendDas HTML, das den Varianten angehängt werden soll (z.B. das Ende einer ul Liste).
$[article].brainImprovedVariantDisplay.[view].sArticleNameShortNur der Artikelname ohne Varianten-Anhängsel
$[article].brainImprovedVariantDisplay.[view].sArticleNameLongDer 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.variantNameDer Name der n-ten Varianteneigenschaft (z.B. „Größe“)
$[view].aArticleConfigurations.n.variantTextDer Wert der n-ten Varianteneigenschaft (z.B. „XL“)
$[view].aArticleConfigurations.n.formattedStringDer 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].bShowBoolescher Wert, ob die Variantenbearbeitung aktiviert ist.
$brainImprovedVariantDisplay.[view].sVariantFormatDas HTML jeder Variantenzeile, z.B. „<li>{$variantName}: {$variantText}</li>“
$brainImprovedVariantDisplay.[view].sVariantPrependDas HTML, das der Variantenliste vorangestellt wird (z.B. ul Tag).
$brainImprovedVariantDisplay.[view].sVariantAppendDas HTML, das auf die Variantenliste folgt (z.B. ul Schluss-Tag).
$brainImprovedVariantDisplay.[view].iVariantSortingIndex der gewählten Sortierung (0 = aus, 1 = aufsteigend, 2 = absteigend).
$brainImprovedVariantDisplay.[view].bArticleNameModificationBoolescher Wert, ob der originale Artikelname überschrieben werden soll.
$brainImprovedVariantDisplay.[view].bArticleNameAppendVariantsBoolescher Wert, ob die Artikelvarianten an den Artikelnamen angehängt werden sollen.
$brainImprovedVariantDisplay.[view].sArticleNameFormatDie Formatierung der Varianteninformationen im Artikelnamen.
$brainImprovedVariantDisplay.[view].sArticleNameDelimiterDas Trennzeichen zwischen Artikelnamen und Varianten.
$brainImprovedVariantDisplay.[view].sArticleNameDelimiterConfigurationDas 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.