Rabatt-Meldungen pro Artikel und durchgestrichene Preise im Magento-2-Warenkorb
Ein Kunde legt 5 Artikel in den Warenkorb. Zwei haben einen Sonderpreis. Er löst einen Gutschein ein. Der Gutschein funktioniert bei 3 Artikeln, aber nicht bei den 2 bereits rabattierten.
Was sieht der Kunde? Eine Gesamtrabattzahl. Keine Erklärung, welche Artikel ausgeschlossen wurden oder warum. Keine durchgestrichenen Preise, die die Ersparnis bei den Artikeln zeigen, bei denen der Gutschein gegriffen hat.
Das führt zu Support-Anfragen, weil der Kunde denkt, der Gutschein funktioniert nicht. Es führt zu Warenkorbabbrüchen. Und es versäumt die Gelegenheit zu zeigen, wie viel der Kunde spart, wo der Gutschein tatsächlich angewendet wurde.
Was das Modul hinzufügt
PixelPerfect Checkout Discount Display ergänzt den Warenkorb um drei Dinge.
Durchgestrichene Preise: Der reguläre Katalogpreis erscheint durchgestrichen neben dem Rabattpreis auf jeder Warenkorb-Position. Klare visuelle Bestätigung der Ersparnis.
Rabatt-Meldungen pro Artikel, die erklären was passiert ist:
- „10% Gutschein-Rabatt angewendet (–€5,00)"
- „Gutschein nicht angewendet — dieser Artikel hat bereits einen Sonderpreis"
- „Affiliate-Rabatt: –€3,00"
Cart-Drawer-Unterstützung: Preisdaten werden zu Magento’s Customer-Section-Data hinzugefügt. Wer also einen Hyvä-Cart-Drawer oder einen AJAX-Miniwarenkorb verwendet, bekommt durchgestrichene Preise auch dort. Vollständig FPC-kompatibel.
Wie es technisch funktioniert
Das Modul hängt sich in sales_quote_collect_totals_after ein und berechnet Meldungen bei jedem collectTotals()-Aufruf. Keine persistente Speicherung, keine Datenbankänderungen — Meldungen werden aus dem Quote-Zustand zur Laufzeit berechnet.
Für Headless- oder PWA-Setups wird das GraphQL-Schema erweitert:
{
cart(cart_id: "...") {
items {
prices {
regular_price { value, currency }
has_discount
discount_messages
}
}
}
}
Konfiguration
Unter Stores → Configuration → Sales → Checkout Discount Display können Rabatt-Meldungen und durchgestrichene Preise unabhängig voneinander aktiviert oder deaktiviert werden, pro Store View.
Voraussetzungen
PHP 8.3+, Magento 2.4.7+, und das PixelPerfect Discount Exclusion-Modul als Pflichtabhängigkeit. Hyvä Theme für das Warenkorb-Seiten-Template (GraphQL funktioniert unabhängig vom Frontend). Amasty Affiliate optional, für Affiliate-Rabatt-Meldungen.
Übersetzungen für Englisch, Deutsch, Französisch, Spanisch und Italienisch sind enthalten.
Das Gesamtbild
Dieses Modul ist die Anzeigeschicht für das Discount Exclusion-Modul. Das eine steuert, welche Rabatte angewendet werden. Das andere zeigt dem Kunden, warum. Zusammen bilden sie eine vollständige Lösung: Die Geschäftsregeln sind korrekt, und der Kunde versteht, was passiert ist.
Transparente Preisdarstellung schafft Vertrauen. Das lässt sich schwerer messen, macht aber einen Unterschied.
GitHub-Repository hier. Open Source, MIT-lizenziert. Wer Hilfe bei der Implementierung oder etwas Individuelles braucht, kann mich gerne kontaktieren.