Verwendung in Shopware-Productexporten (Product Feeds) v3.0.x

Für die Templates der Produktexporte wird die Variable $sArticle durch Aufschlag-/Rabattinformationen ergänzt:

$sArticle.mnd_addcharge

Diese Variable enthält ein Objekt mit Aufschlags-/Rabattinformationen.

In diesem Objekt sind folgende Infos enthalten:

VariableBeschreibungBeispielType
nameDer "Interne Name" des Aufschlages/Rabattes.dosenpfand_1string
display_nameDer Name der im Frontend für den Endkunden sichtbar ist.Mehrweg Dosenpfandstring
description

Die Beschreibung des Aufschlages/Rabattes.

Die description kann Zeilenumbrüche enthalten. Sie müssen den Wert für CSV daher ggf. entsprechend mit Smarty anpassen.

Das in Deutschland übliche Dosenpfandstring
priceDer Bruttopreis des Aufschlages/Rabattes in der für den Export eingestellten Währung.0.25float
taxDer Steuersatz des Aufschlages/Rabattes19.00float
type

Die Aufschlags-/Rabattart. Hier gibt es drei Möglichkeiten.

BeschreibungKürzelBerechnung

Aufschlags-/Rabattmenge gleich Artikelmenge

multiArtikelmenge = Aufschlags-/Rabattmenge

Nur einmal pro Artikel

singleNur 1x Aufschlag/Rabatt pro entsprechendem Artikel im Warenkorb

Nur einmal pro Warenkorb

basketDer Aufschlag/Rabatt wird nur einmal pro Warenkorb hinzugefügt
multi | single | basketstring
optionalOb es sich bei dem Aufschlag/Rabatt um einen optionalen Aufschlag/Rabatt handelt, oder nicht.true | falseboolean


Beispiele für Integration in Productfeed-Template

Aufschlags-/Rabattinformationen als Text ausgeben

Zunächst erweitern wir den Productexport um eine Spalte in der alle Aufschläge/Rabatte als Fließtext aufgezählt werden.

header
[...]
Aufschläge{#S#}
[...]
template
[...]
{assign var="output" value=null}
{foreach $sArticle.mnd_addcharge AS $data}{append 'output' "zzgl. {$data.price|format:"number"} {$sCurrency.currency} {$data.display_name}"}{/foreach}
{", "|implode:$output}{#S#}
[...]

Ergebnis:

Ergebnis
zzgl. 0,25 EUR Test Zuschlag, zzgl. 3,21 EUR Zweiter Test Zuschlag

Erklärung:

{assign var="output" value=null}

Zuerst erstellen wir eine Variable, die wir mit unseren Daten befühlen wollen. (Diese Zeile führt noch nicht zu einer Ausgabe)

{foreach $sArticle.mnd_addcharge AS $data}{append 'output' "zzgl. {$data.price|format:"number"} {$sCurrency.currency} {$data.display_name}"}{/foreach}

Nun wird jeder Aufschlag/Rabatt herangezogen und in das Array "output" gespeichert.

{$data.price|format:"number"} 

Hiermit werden die Preise entsprechend der ausgewählten Einstellungen formatiert.

{", "|implode:$output}

Zuletzt werden alle Einzelteile verbunden mit einem "Komma" ausgegeben.


Es kann auch anhand der Aufschlags-/Rabattart ein Text ausgegeben werden.

Hierfür muss eine Abfrage auf den 'typ' hinzugefügt werden.

template
[...]
{foreach $sArticle.mnd_addcharge AS $data}
{if $data.type == 'basket'}
	Dieser Artikel enthält einen Aufschlag der einmalig für den Warenkorb berechnet wird.
    {break}
{/if}
{/foreach}
[...]



Preis von Aufschlägen/Rabatten zu Artikelpreis hinzuaddieren

header
[...]
Preis inkl Aufschläge{#S#}
{/strip}{#L#}
template
[...]
{assign var="priceIncl" value=$sArticle.price}
{foreach $sArticle.mnd_addcharge AS $data}{assign var="priceIncl" value=$priceIncl+$data.price}{/foreach}
{$priceIncl}


Ergebnis:

Ergebnis
123.41
{assign var="priceIncl" value=$sArticle.price}
Zunächst erstellen wie eine Variable, dieser Variable geben wir den Preis des Artikels mit.
{foreach $sArticle.mnd_addcharge AS $data}{assign var="priceIncl" value=$priceIncl+$data.price}{/foreach}
Nun wird jeder Aufschlag/Rabatt herangezogen und dem Artikelpreis hinzuaddiert
{$priceIncl}

Zuletzt wird der Preis ohne Formatierung ausgegeben.