PS PrestaShop Beginner

DataFirefly Order Vouchers: volledige gids

De weergave van de gebruikte kortingscodes en het kortingsbedrag in de bestellijst van de backoffice installeren en benutten, voor PrestaShop 8 en 9.

Bijgewerkt Moduleversie 1.0.0

Overzicht en vereisten

DataFirefly Order Vouchers voegt twee kolommen toe aan de bestellijst van de backoffice: de gebruikte kortingscode(s) op elke bestelling en het totale kortingsbedrag (opgemaakt in de valuta van de bestelling). De module maakt geen enkele tabel aan, schrijft niets in de database en overridet geen enkele controller: hij leest simpelweg de al op uw bestellingen geregistreerde kortingsbonnen en toont ze in het raster.

  • Compatibel met PrestaShop 8.0 tot 9.x.
  • PHP 7.4 tot 8.3.
  • Multistore en meertalig (FR/EN/ES/DE/IT).
  • Geen enkele bestandsoverride: uitsluitend de native hooks van het Symfony-bestelraster.

De gegevens komen uit de tabellen order_cart_rule en cart_rule. Een bestelling zonder kortingsbon toont simpelweg een lege cel in beide kolommen.

Installatie

  1. Download het archief dfordervouchers.zip vanuit uw klantaccount.
  2. Ga in de backoffice naar Modules > Modulebeheer.
  3. Klik op Een module installeren en upload het archief.
  4. De installatie registreert de twee hooks van het bestelraster. Er is geen enkele configuratie nodig.

Open direct na de installatie Bestellingen > Bestellingen: de twee nieuwe kolommen verschijnen na de kolom “Totaal”.

De module heeft geen configuratiepagina: hij werkt onmiddellijk na de installatie, zonder enige instelling.

De twee toegevoegde kolommen

Kortingscode(s)

Deze kolom toont de code van elke kortingsbon die daadwerkelijk op de bestelling is toegepast. Combineert een bestelling meerdere codes, dan worden ze gegroepeerd, gededupliceerd en gescheiden door komma’s. Automatische promoties (winkelwagenregels zonder code) worden niet in deze kolom getoond, aangezien ze geen code hebben om te presenteren.

Korting

Deze kolom telt het op de bestelling gekorte bedrag op, zoals het op het moment van de validatie is geregistreerd (standaard incl. btw), en toont het in de valuta van de bestelling. Een bestelling in ponden of dollars toont dus haar bedrag in haar eigen valuta. Is er geen enkele korting toegepast, dan blijft de cel leeg.

Technische werking

Vanaf PrestaShop 1.7.7 steunt de bestellijst op het Symfony-raster. De module haakt erin via twee officiële hooks:

  • actionOrderGridDefinitionModifier: voegt de twee kolommen toe aan de rasterdefinitie, direct na de kolom “Totaal”.
  • actionOrderGridQueryBuilderModifier: verrijkt de rasterquery met twee gecorreleerde subquery’s op order_cart_rule en cart_rule.

Doordat de subquery’s aan het bestel-ID zijn gecorreleerd, veroorzaken ze geen enkele rijduplicatie en botsen ze niet met de interne groepering van het raster. Het bedrag hergebruikt de valuta die de core al in de rasterquery joint.

De module is alleen-lezen: hij schrijft nooit in de database en wijzigt geen enkele bestelling. Hij kan zonder enige impact op uw gegevens worden geïnstalleerd en gede-installeerd.

Bijzondere gevallen

Meerdere codes op een bestelling

Alle codes worden getoond, gescheiden door komma’s. Het bedrag in de kolom “Korting” telt alle op de bestelling toegepaste bonnen op.

Automatische promoties zonder code

Standaard telt de kolom “Korting” alle kortingen van de bestelling op, inclusief eventuele automatische promoties zonder code. De kolom “Kortingscode(s)” toont daarentegen alleen de bonnen die een code hebben. Een variant die het bedrag beperkt tot alleen de bonnen met code is op aanvraag beschikbaar.

Multi-valuta

Het bedrag wordt altijd getoond in de valuta van de betreffende bestelling, door de valuta te hergebruiken die het native raster joint.

Multistore

De weergave respecteert de huidige winkelcontext van de backoffice, precies zoals het native bestelraster.

Sortering en aanpassing

De labels van beide kolommen zijn vertaalbaar via het vertaalsysteem van de PrestaShop-modules, in de vijf talen. Aangezien de native sortering van het raster op een whitelist van velden steunt, activeert een klik op de kop van deze berekende kolommen geen sortering, maar veroorzaakt hij ook geen enkele fout.

FAQ en probleemoplossing

De kolommen verschijnen niet

Controleer of de module correct is geïnstalleerd en actief in het Modulebeheer, en herlaad daarna de pagina Bestellingen > Bestellingen. De kolommen verschijnen na de kolom “Totaal”.

De kolom “Korting” is leeg terwijl er een code wordt getoond

Dat kan gebeuren als de op de bestelling geregistreerde bon een waarde van nul heeft, bijvoorbeeld een bon voor gratis verzending. De code blijft getoond, maar het gekorte bedrag is gelijk aan nul.

Werkt de module op PrestaShop 8 en 9?

Ja. Hij steunt op het Symfony-bestelraster dat in beide versies aanwezig is, via de officiële hooks voor de definitie en de query builder.

Wat gebeurt er bij de de-installatie?

De de-installatie verwijdert simpelweg de twee hooks. Aangezien er geen tabel is aangemaakt en geen gegeven is geschreven, blijft er niets in de database achter.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support