Das Problem
Nach einem Update auf Shopware 6.7.x – beobachtet unter anderem bei 6.7.9.0 – verschwindet der Grundpreis (Reference Price) auf der Produktdetailseite (Buybox), obwohl er im Kategorie-Listing weiterhin korrekt angezeigt wird. Ein Blick in den HTML-Quelltext zeigt: Die Klasse <span class="price-unit-reference"> fehlt auf der Detailseite komplett. Im Listing-Template ist sie vorhanden, im Buybox-Template der Detailseite nicht.
In manchen Fällen bleibt es nicht beim fehlenden Grundpreis: Im Standard-Theme kann das gesamte Preis-Feld inklusive Produktbild sichtbar brechen, sobald die Vererbung an dieser Stelle ins Leere läuft.
Die möglichen Ursachen
Je nach Shopware-Konfiguration und installiertem Theme gibt es zwei Hauptursachen für dieses Verhalten:
- Erweiterte Preismatrix (Backend-Daten): Sobald für die Standard-Kundengruppe eigene Preisregeln unter „Erweiterte Preise" hinterlegt sind, wird die Übergabe des
referencePricean das Twig-Template der Detailseite im Core blockiert – ein Vererbungsfehler, der sich von der sonst korrekt funktionierenden Listing-Ansicht unterscheidet. - Refactoring im Buy-Widget (TWIG / Frontend): In der 6.7er-Linie wurden Template-Anpassungen im Template
buy-widget-price.html.twigvorgenommen. Wenn Custom-Themes oder Drittanbieter-Plugins den Blockpage_product_detail_price_unitüberschreiben oder Produkte mit Staffelpreisen (calculatedPrices) gerendert werden, greift der Core-Grundpreis-Block oft ins Leere.
Schneller Zwischenschritt: Prüfen Sie zuerst Ihre genaue Patch-Version. Shopware hat in 6.7.8.2 bereits einen verwandten Fehler bei der Grundpreis-Vererbung von Varianten auf der Detailseite behoben. Ein Update auf den aktuellen Patch-Stand kann das Problem unter Umständen bereits lösen, bevor Sie Änderungen an den Daten oder Templates vornehmen.
Der schnelle Gegentest
Bevor Sie an die Masse gehen, bestätigen Sie die Ursache an einem einzelnen Produkt:
- Öffnen Sie ein betroffenes Produkt im Administration-Bereich unter „Preise".
- Entfernen Sie testweise alle Einträge unter „Erweiterte Preise" für dieses eine Produkt.
- Speichern Sie, leeren Sie den Cache und rufen Sie die Produktdetailseite im Frontend erneut auf.
Erscheint der Grundpreis jetzt wieder, liegt es an der erweiterten Preismatrix (siehe Methode A & B). Bleibt er weiterhin verschwunden, greift das TWIG-Rendering Ihres Themes nicht (siehe Methode C).