Variantenprodukt zeigt Größe in E-Mail (Bestellbestätigung), Rechnung sowie im Backend nicht an

Im Frontend wird bei einem Kleidungsstück die ausgewählte Größe (Variantenprodukt) bis zum erfolgreichen Bestellabschluss angezeigt. Weder die E-Mail, die Dokumente (Rechnung, Lieferschein, …) noch im Backend ist die ausgewählte Variante zu sehen. Hier wird lediglich die generierte Artieklnummer ausgegeben. Welche Lösungsansätze sind hier bekannt? In Shopware 5 funktionierte dies noch.

Für die Bestellbestätigung: https://forum.shopware.com/discussion/comment/266980/#Comment_266980

Das gleiche kannst du auch für die Rechnung adaptieren, müsstest aber dann das Rechnungstemplate anpassen. 

1 „Gefällt mir“

@Moritz Naczenski schrieb:

Für die Bestellbestätigung: https://forum.shopware.com/discussion/comment/266980/#Comment_266980

Das gleiche kannst du auch für die Rechnung adaptieren, müsstest aber dann das Rechnungstemplate anpassen. 

Vielen Dank, Moritz. Ich habe das für die E-Mail soeben erfolgreich getestet. Das mit den Rechnungen teste ich morgen.

wie hast Du das denn gemacht? Ich habe das heute auch versucht. Es wird aber nur das Ergebnis der Variante angezeigt, nicht auch der Variablenname (z. B. Farbe und Größe). 

Ich sehe auch gerade, dass in den Fällen, wo es keine Variante gibt, nun () hinter der Artikelnummer steht

@annaconta schrieb:

wie hast Du das denn gemacht? Ich habe das heute auch versucht. Es wird aber nur das Ergebnis der Variante angezeigt, nicht auch der Variablenname (z. B. Farbe und Größe). 

Ich sehe auch gerade, dass in den Fällen, wo es keine Variante gibt, nun () hinter der Artikelnummer steht

Ich habe unter Einstellungen > E-Mail-Vorlagen die Bestellbestätigung folgendermaßen gemäß Anleitung von Moritz aktualisiert:

Informationen zu Ihrer Bestellung:

Pos.   Artikel-Nr.            Beschreibung            Menge            Preis            Summe
{% for lineItem in order.lineItems %}
{{ loop.index }}     {% if lineItem.payload.productNumber is defined %}{{ lineItem.payload.productNumber|u.wordwrap(80) }}{% endif %} {% if lineItem.payload.options is defined %}({% for lineItemOptions in lineItem.payload.options %} {{ lineItemOptions.option }} {% endfor %}){% endif %}                {{ lineItem.label|u.wordwrap(80) }}            {{ lineItem.quantity }}            {{ lineItem.unitPrice|currency(currencyIsoCode) }}            {{ lineItem.totalPrice|currency(currencyIsoCode) }}
{% endfor %}

Bei den Dokumenten habe ich zuerst ein Plugin erstellt und in diesem dann die betreffende Datei abgeleitet. Benötigst du auch hierzu Tipps?

@Bojanic schrieb:

@Moritz Naczenski schrieb:

Für die Bestellbestätigung: https://forum.shopware.com/discussion/comment/266980/#Comment_266980

Das gleiche kannst du auch für die Rechnung adaptieren, müsstest aber dann das Rechnungstemplate anpassen. 

Vielen Dank, Moritz. Ich habe das für die E-Mail soeben erfolgreich getestet. Das mit den Rechnungen teste ich morgen.

Habe den Test mit den Dokumenten gemacht. Das mit den Labels (option) klappt nicht. Und die abgeleitete base.html.twig, die ich angepasst habe, hat bei der ersten Änderung funktioniert. Danach haben Änderungen keine Auswirkungen - selbst wenn ich mich erneut anmelde oder auch die Änderungen in der base.html.twig rückgängig mache - muss ich hier irgendwie die Cache-Erneuerung anstoßen?

Also am besten die Vorschau verwenden, die Dokumente sind ja Revisionssicher, wenn die einmal generiert sind. Und immer den Cache per ftp leeren, also /var/cache umbenennen 

1 „Gefällt mir“

ich habe das soeben ausprobiert und es geht nicht. auch unter bestellungen sehe ich nicht die variante (bei mir größe):

Name

Bruttopreis

Menge

Gesamt

Steuersatz

 

nur das. 

im mail template von bestellbestätigung steht ja das, wo ich denke das es darum geht, oder?

 {{ lineItem.label|u.wordwrap(80) }}            {{ lineItem.quantity }}            {{ lineItem.unitPrice|currency(currencyIsoCode) }}            {{ lineItem.totalPrice|currency(currencyIsoCode) }}

was ist denn der name für die variante “größe”. 

ok ich sehe in der order_line_item nun das die größe da einfach nicht mit drin steht. ist also nicht vorgesehen, das per default varianten in den warenkorb übertragen werden? warum macht man sowas? 

Was genau meinst du? Im payload sind die ja mit drin.

im backend unter bestellungen: da sehe ich die nicht. 

und zusätzlich: was mcht das für ein sinn varianten anzubieten, die dann aber erst manuell nachgepflegt wrden müssen in jedem dokument? vielleicht gibt es varianten die keiner erwähnung wert sind, aber in 90% der fälle, wird es doch so sein, das eine variante eben überall zu sehen ist: unter bestellungen im backend, in den rechnungen oder sonstigen bestätigungsmails. selbst wenns nur eine farbe ist, interessiert das einfach mal jeden: den shopbetreiber als auch den kunden. 

…also ums kurz zu machen: sobald ich eine variante anlege, würde ich erwarten, das die eben auch sichtbar ist, ohne das ich zich dokumente oder emailvorlagen anpassen muss. wie ich nun das ganze bei den bestellungen im backend sehen soll, ist mir ein rätsel und wohl leider ein showstopper für mich. oder ich muss echt jemand anfragen der das entwickelt. aber ist das nicht eine grundfunktion? was bringt mir das ohne die variante? 

Ist auch bald so, da wird ja gerade dran gearbeitet. Aktuell musst du dir das selbst anpassen oder halt warten bis das Update kommt. Voraussichtlich in 4-6 Wochen.

was ist bald so? das backend? womit dann auch die rechnungen (dokumente) entsprechend die daten haben und/oder auch alle emailvorlagen? 

wo genau kann ich das Rechnungstemplate denn finden bzw. bearbeiten?
Vlt. stelle ich mich auch zu blöd an :D 

Das base.html.twig habe ich gefunden und auch das Bearbeiten funktioniert perfekt. 
Aber ich finde einfach keine twig Datei in welcher die Prod. Nr., Bezeichnung, Anz. … angegeben werden.

Weiß jemand Bescheid?

PS.: Ziel ist es in das Rechnungs PDF die Varianten für den jeweiligen Artikel mit anzugeben. 


also ich habe mir die Frage selbst beantwortet. 
Die Lösung liegt in der base.html.twig.

Einfach in Zeile 261 folgendes einfügen:
{% if lineItem.payload.options is defined %}({% for lineItemOptions in lineItem.payload.options %}Gr.: {{ lineItemOptions.option }}{% endfor %}){% endif %}