Produkt Varianten nicht angezeigt in E-Mail, Rechnung, Bestellung im Backend

Hi,

Ich habe eine Shopware6 Instanz mit nahezu default Konfiguration zum Testen am laufen.

Bei einer Bestellung mit Produkten mit Varianten (Größe, Farbe, … ) wird dies im Warenkorb und im Checkout Screen korrekt angezeigt. In der Bestätigungsmail, auf der Rechnung und in der Bestellübersicht im Backend sind die gewählten Varianten nicht zu sehen. Woher soll ich wissen, welche Variante bestellt wurde?

Das selbe Verhalten habe ich auch im frisch erstellten Demoshop gesehen.

Gibt es hierfür eine Einstellung? Mir würde es schon vollkommen reichen, wenn die gewählten Varianten zumindest jeweils am Namen der Produkte hinten angehängt wären.

Mit freundlichen Grüßen,

Hans 

Hallo,

für die Bestellbestätigung kannst du das lösen: https://forum.shopware.com/discussion/67049/in-bestellbestaetigung-die-variante-den-namen-der-entsprechenden-ausgewaehlten-options-anzeigen

 

für die Übersichten im Admin haben wir ein Ticket. Bei der Rechnung müsste es ähnlich gehen wie bei der Bestellbestätigung.

 

moritz

 

@Moritz Naczenski schrieb:

für die Bestellbestätigung kannst du das lösen: https://forum.shopware.com/discussion/67049/in-bestellbestaetigung-die-variante-den-namen-der-entsprechenden-ausgewaehlten-options-anzeigen

Danke für die schnelle Antwort. Das hatte ich schon umgesetzt und hat auch für die Mail gut funktioniert. Beim Update auf v6.1.4. wurde die Änderung aber wohl wieder überschieben. Gibt es einen Grund, warum das nicht Bestandteil vom default Mail-Content ist? 

Wäre es möglich, den Inhalt von ‘order_line_item.label’ vor dem Erstellen der DB Zeile entsprechend zu ergänzen? So wie ich das sehe, wären die Infos dann überall vorhanden, wo ich sie brauche. 

Falls ja, hättest du mir einen Tipp in welchem File ich den entsprechenden Teil finde. Hab mir die Projektstruktur noch nicht wirklich angesehen  Lips-are-sealed.

Dass es im User Order History dann doppelt wäre, fände ich vorerst nicht schlimm.

Es gibt quasi ein Ticket was eine globale Lösung anstrebt, also das man überall wo Varianten dargestellt werden auch die Optionen sieht. Das wird dann überall angepasst. Ein Quickwin wäre ggf. die Anpassung der Vorlage, dass nehme ich mal mit.

Aktuell sind die Informationen im Payload wenn es sich um einen Variantenartikel handelt, ich weiß leider nicht genau, wie du die an den Namen dran bekommst vor dem persistieren. Wahrscheinlich gibt ed da aber ein Event.

1 Like

Vielleicht hilft dir das für den Start:

https://forum.shopware.com/discussion/comment/263849/#Comment_263849

Die Events dazu befinden sich unter 

 Shopware\Core\Checkout\Cart\Event;

 class LineItemAddedEvent extends Event
1 Like

Ich habe mir jetzt eine Lösung gebaut, die die Varianten immer ans Label anhängen.
Dadurch ist es zwar im Warenkorb und in der Order History doppelt, aber das ist für mich erstmal Ok.

Falls es jemand brauchen kann (ich progrogrammiere sonst kein PHP :wink: ): 

--- a/vendor/shopware/core/Content/Product/Cart/ProductCartProcessor.php
+++ b/vendor/shopware/core/Content/Product/Cart/ProductCartProcessor.php
@@ -166,7 +166,17 @@ class ProductCartProcessor implements CartProcessorInterface, CartDataCollectorI
             return;
         }

- $lineItem->setLabel($product->getTranslation('name'));
+ // add variant options to the label
+ $label = $product->getTranslation('name');
+ $options = [];
+ foreach ($this->getOptions($product) as $option) {
+ $options[] = $option["group"] . ": " . $option["option"];
+ }
+ sort($options);
+ foreach ($options as $option) {
+ $label .= " " . $option;
+ }
+ $lineItem->setLabel($label);

         if ($product->getCover()) {
             $lineItem->setCover($product->getCover()->getMedia());

 

Nur als Hinweis, falls das jemand übernimmt. Bei nem Shopware Update wären die Änderungen dann wieder weg.

@claudio schrieb:

Nur als Hinweis, falls das jemand übernimmt. Bei nem Shopware Update wären die Änderungen dann wieder weg.

Ich hoffe ja, dass die Änderung durch eines der nächsten Shopware Updates nicht mehr nötig sein wird :slight_smile:
Gibt es eine Roadmap dafür?