wir haben ein Problem mit der Anzeige von Cross-Selling-Inhalten (in unserem Fall weitere Farben eines Produkts) direkt im Buy-Widget auf der Produktdetailseite.
Bis einschließlich Shopware 6.6 hat das problemlos funktioniert – seit dem Update auf Shopware 6.7 scheint der Zugriff auf die entsprechenden Variablen jedoch nicht mehr möglich zu sein.
Im Buy-Widget-Template (‘@Storefront/storefront/component/buy-widget/buy-widget.html.twig‘) haben wir bisher die Variablen aus page.crossSellings verwendet, um die Cross-Selling-Produkte, insbesondere die Farbvarianten, anzuzeigen. Seit Shopware 6.7 können wir jedoch nicht mehr auf diese Variablen zugreifen, wodurch die Anzeige der Farbvarianten über das Buy-Widget nicht mehr funktioniert.
page.crossSellings bzw. page.crossSellings.elements scheinen seit dem Update im Template nicht mehr verfügbar zu sein. Wurde in Shopware 6.7 etwas an der Struktur oder an den geladenen Cross-Sellings geändert?
Wir möchten weiterhin die Cross-Selling-Produkte (bzw. Farbvarianten) direkt im Buy-Widget anzeigen. Gibt es in Shopware 6.7 eine neue Möglichkeit, im Buy-Widget auf die Cross-Selling-Produkte zuzugreifen?
Inzwischen geht das ja über die Erlebniswelt und wird dort dynmisch geladen.
Eine Möglichkeit wie man das wieder ans laufen bringen kann ist über das Criteria Event, welches man dann anreichert mit crossSellings.assignedProducts.product. Dann hat man das wieder verfügbar. Eventuell gibts auch noch ein eleganteren Weg. Falls du mehr Infos brauchst, einfach melden.
Wir haben gerade das gleiche Problem, weil wir auch die weitere Farben eines Produkts über die Cross Sellings abgildet haben.
Wir haben eine Lösung gefunden, wie man doch noch von Prodkutseite ohne großen Aufwand an die Cross Sellings kommt. Falls es noch jemand braucht.
{% for section in page.cmsPage.sections %} {% for block in section.blocks %} {% for slot in block.slots %} {% if slot.type == 'cross-selling' %} {% set crossSellings = slot.data.crossSellings %} {% for crossSelling in crossSellings %} <h3>{{ crossSelling.crossSelling.translated.name }}</h3> {% for product in crossSelling.products %} {{ product.translated.name }} {% endfor %} {% endfor %} {% endif %} {% endfor %} {% endfor %} {% endfor %}