DataFirefly Order Vouchers — Vollständiger Leitfaden
Installieren und nutzen Sie die Anzeige der verwendeten Gutscheincodes und des Rabattbetrags in der Bestellliste des Back Office, für PrestaShop 8 und 9.
Überblick und Voraussetzungen
DataFirefly Order Vouchers fügt der Bestellliste im Back Office zwei Spalten hinzu: die auf jeder Bestellung verwendeten Gutscheincodes und den gesamten Rabattbetrag (in der Bestellwährung formatiert). Das Modul legt keine Tabelle an, schreibt nichts in die Datenbank und überschreibt keinen Controller: Es liest lediglich die bereits auf Ihren Bestellungen gespeicherten Gutscheine und zeigt sie im Grid an.
- Kompatibel mit PrestaShop 8.0 bis 9.x.
- PHP 7.4 bis 8.3.
- Multistore und mehrsprachig (FR/EN/ES/DE/IT).
- Keine Datei-Überschreibung: nur die nativen Hooks des Symfony-Bestell-Grids.
Die Daten stammen aus den Tabellen order_cart_rule und cart_rule. Eine Bestellung ohne Gutschein zeigt in beiden Spalten einfach eine leere Zelle an.
Installation
- Laden Sie das Archiv
dfordervouchers.zipaus Ihrem Kundenkonto herunter. - Gehen Sie im Back Office zu Module > Modul-Manager.
- Klicken Sie auf Modul hochladen und legen Sie das Archiv ab.
- Die Installation registriert die beiden Bestell-Grid-Hooks. Es ist keine Konfiguration erforderlich.
Öffnen Sie direkt nach der Installation Bestellungen > Bestellungen: Die beiden neuen Spalten erscheinen direkt nach der Spalte „Gesamt“.
Das Modul hat keine Konfigurationsseite: Es funktioniert sofort nach der Installation, ohne jede Einstellung.
Die zwei hinzugefügten Spalten
Gutscheincode(s)
Diese Spalte zeigt den Code jedes tatsächlich auf die Bestellung angewendeten Gutscheins an. Wenn eine Bestellung mehrere Codes kombiniert, werden sie gruppiert, dedupliziert und durch Kommas getrennt. Automatische Aktionen (Warenkorbregeln ohne Code) werden in dieser Spalte nicht angezeigt, da sie keinen anzuzeigenden Code haben.
Rabatt
Diese Spalte summiert den auf der Bestellung rabattierten Betrag, so wie er zum Zeitpunkt der Validierung gespeichert wurde (standardmäßig inkl. Steuer), und zeigt ihn in der Bestellwährung an. Eine Bestellung in Pfund oder Dollar zeigt ihren Betrag daher in der eigenen Währung an. Wurde kein Rabatt angewendet, bleibt die Zelle leer.
Funktionsweise
Ab PrestaShop 1.7.7 basiert die Bestellliste auf dem Symfony-Grid. Das Modul klinkt sich über zwei offizielle Hooks ein:
actionOrderGridDefinitionModifier: fügt die beiden Spalten der Grid-Definition hinzu, direkt nach der Spalte „Gesamt“.actionOrderGridQueryBuilderModifier: erweitert die Grid-Abfrage um zwei korrelierte Unterabfragen auforder_cart_ruleundcart_rule.
Da die Unterabfragen mit der Bestell-ID korreliert sind, erzeugen sie keine Zeilenduplizierung und stehen nicht im Konflikt mit der internen Gruppierung des Grids. Der Betrag verwendet die bereits vom Core in der Grid-Abfrage verknüpfte Währung wieder.
Das Modul ist schreibgeschützt: Es schreibt nie in die Datenbank und ändert keine Bestellung. Es kann ohne jeglichen Einfluss auf Ihre Daten installiert und deinstalliert werden.
Sonderfälle
Mehrere Codes auf einer Bestellung
Alle Codes werden angezeigt, durch Kommas getrennt. Der Betrag der Spalte „Rabatt“ summiert alle auf die Bestellung angewendeten Gutscheine.
Automatische Aktionen ohne Code
Standardmäßig summiert die Spalte „Rabatt“ alle Ermäßigungen der Bestellung, einschließlich eventueller automatischer Aktionen ohne Code. Die Spalte „Gutscheincode(s)“ zeigt nur Gutscheine mit einem Code an. Eine Variante, die den Betrag auf Gutscheine mit Code beschränkt, ist auf Anfrage verfügbar.
Multiwährung
Der Betrag wird immer in der Währung der betreffenden Bestellung angezeigt, unter Wiederverwendung der vom nativen Grid verknüpften Währung.
Multistore
Die Anzeige respektiert den aktuellen Shop-Kontext des Back Office, genau wie das native Bestell-Grid.
Sortierung und Anpassung
Die Beschriftungen beider Spalten sind über das Übersetzungssystem der PrestaShop-Module in allen fünf Sprachen übersetzbar. Da die native Sortierung des Grids auf einer Whitelist von Feldern beruht, löst ein Klick auf die Überschrift dieser berechneten Spalten keine Sortierung aus, verursacht aber auch keinen Fehler.
FAQ und Fehlerbehebung
Die Spalten erscheinen nicht
Prüfen Sie, ob das Modul im Modul-Manager installiert und aktiviert ist, und laden Sie dann die Seite Bestellungen > Bestellungen neu. Die Spalten erscheinen direkt nach der Spalte „Gesamt“.
Die Spalte „Rabatt“ ist leer, obwohl ein Code angezeigt wird
Dies kann passieren, wenn der auf der Bestellung gespeicherte Gutschein einen Nullwert hat, zum Beispiel ein Gutschein für kostenlosen Versand. Der Code bleibt angezeigt, der rabattierte Betrag ist jedoch gleich null.
Funktioniert das Modul mit PrestaShop 8 und 9?
Ja. Es nutzt das in beiden Versionen vorhandene Symfony-Bestell-Grid über die offiziellen Definition- und Query-Builder-Hooks.
Was passiert bei der Deinstallation?
Die Deinstallation entfernt einfach die beiden Hooks. Da keine Tabelle angelegt und keine Daten geschrieben wurden, bleibt nichts in der Datenbank zurück.