PS PrestaShop Beginner

Geschatte leverdatum: volledige gids

De module Geschatte leverdatum installeren en instellen: cut-off, verwerkingstijden, vervoerders en feestdagen.

Bijgewerkt Moduleversie 1.0.0

Presentatie

DataFirefly Delivery Date toont een geschatte leverdatum op de productpagina, in de winkelwagen en bij de checkout van uw PrestaShop 8- of 9-webshop. De berekening combineert vier factoren: de verwerkingstijd van elk product, de levermarge van de vervoerder (min/max werkdagen), de weekends en feestdagen, en uw dagelijkse cut-offtijd. Voor de cut-off toont een live aftelling de klant hoeveel tijd er nog rest voor verzending dezelfde dag.

Installatie

  1. Open in uw PrestaShop-backoffice Modules → Modulebeheer → Een module installeren.
  2. Upload het bestand dfdeliverydate.zip.
  3. Klik op Installeren en daarna op Configureren.

De installatie maakt drie tabellen aan (ps_dfdeliverydate_product, ps_dfdeliverydate_carrier, ps_dfdeliverydate_holiday), registreert de nodige hooks, voegt een beheertabblad voor de feestdagen toe en vult de 8 Franse nationale feestdagen alvast als jaarlijks terugkerend in.

Algemene configuratie

Via Modules → Modulebeheer → DataFirefly Delivery Date → Configureren bundelt het eerste paneel de globale instellingen:

  • Uur en minuut van de cut-off: het uiterste besteltijdstip voor verzending dezelfde dag (standaard 14.00 uur).
  • Tijdzone voor de verzending: een PHP-tijdzonestring, standaard Europe/Paris. Alle datumberekeningen gebeuren in die tijdzone, los van de tijdzone van de server.
  • Standaard verwerkingstijd: toegepast op alle producten waarvoor geen specifieke termijn is ingevuld.
  • Standaard min/max dagen per vervoerder: gebruikt wanneer een vervoerder geen eigen marge heeft.
  • Weekends uitsluiten: houdt zaterdag en zondag uit de berekening. Staat dit uit, dan kunt u met de volgende optie alleen de zondag uitsluiten wanneer u op zaterdag verzendt.
  • Weergavemodus: marge (tussen min en max), enkel de uiterste datum, of de marge met de verzenddatum erbij.
  • Weergavezones: drie onafhankelijke schakelaars voor de productpagina, de winkelwagen en de checkout.
  • Live aftelling: schakelt de teller HH:MM:SS tot de cut-off in of uit.

Verwerkingstijd per product

Elke productpagina in de backoffice toont een paneel “Delivery date, preparation time”. Vul het aantal werkdagen in dat nodig is voordat dit product verzonden kan worden:

  • 0: product op voorraad, meteen verzendbaar (komt in aanmerking voor verzending dezelfde dag vóór de cut-off);
  • 2: product dat twee werkdagen voorbereiding vraagt;
  • 14: product dat op bestelling wordt gemaakt of gepersonaliseerd.

De waarde wordt bij het opslaan van het product bewaard. In de winkelwagen bepaalt het product met de langste verwerkingstijd de verzenddatum van de volledige bestelling.

Instelling van de vervoerders

Het tweede paneel van de configuratiepagina toont alle actieve vervoerders. Bepaal per vervoerder het minimum en het maximum aantal werkdagen voor de levering. Gangbare voorbeelden: Chronopost 1–2, Colissimo 3–5, Mondial Relay 4–7. Op de productpagina en in de winkelwagen wordt de marge van de standaardvervoerder van de winkel gebruikt; bij de checkout schakelt de module over op de vervoerder die de klant daadwerkelijk heeft gekozen.

Wanneer PrestaShop een vervoerder een nieuwe versie geeft (een nieuw ID dat automatisch wordt aangemaakt na een wijziging), kopieert de module de instelling naar het nieuwe ID: er gaat geen enkele parameter verloren.

Feestdagen

De feestdagen beheert u via Verbeteren → Verzending → Feestdagen (Delivery Date). Elke ingave bestaat uit een datum, een naam, een aanduiding terugkerend en een status actief of inactief:

  • Terugkerend: alleen de maand en de dag tellen; de feestdag wordt automatisch op het lopende en het volgende jaar geprojecteerd (bijvoorbeeld Kerstmis elke 25 december).
  • Eenmalig: één precieze datum, ideaal voor een brugdag of een uitzonderlijke sluiting.

De 8 Franse nationale feestdagen staan vooraf als terugkerend ingesteld: 1 januari, 1 mei, 8 mei, 14 juli, 15 augustus, Allerheiligen, 11 november en 25 december. U kunt ze afzonderlijk uitschakelen en uw eigen regionale of buitenlandse feestdagen toevoegen.

Berekeningsalgoritme

De berekening verloopt in deze stappen, alle uitgedrukt in werkdagen binnen de ingestelde tijdzone:

  1. De verzenddatum start op vandaag. Ligt het huidige uur voorbij de cut-off, dan schuift die datum naar morgen.
  2. De verwerkingstijd van het product (of het maximum uit de winkelwagen) wordt in werkdagen opgeteld, waarbij weekends en feestdagen worden overgeslagen.
  3. Valt de verkregen verzenddatum op een niet-werkdag, dan schuift die door naar de volgende werkdag.
  4. De levermarge wordt berekend door het minimum en het maximum van de vervoerder erbij op te tellen, opnieuw in werkdagen.

De vermelding “verzending vandaag” en de aftelling verschijnen alleen wanneer aan drie voorwaarden is voldaan: het huidige uur ligt vóór de cut-off, vandaag is een werkdag, en de verwerkingstijd is nul.

Templates aanpassen

De drie widgets aan de frontend worden gerenderd door Smarty-templates die u kunt overschrijven. Kopieer de betrokken bestanden van modules/dfdeliverydate/views/templates/hook/ naar themes/uw-thema/modules/dfdeliverydate/views/templates/hook/:

  • product-delivery-date.tpl: productpagina;
  • cart-delivery-date.tpl: winkelwagen;
  • checkout-delivery-date.tpl: checkout en bestelbevestiging.

Elke template krijgt een array $dfdd mee met onder meer ships_today, min_date_label, max_date_label, ship_date_label, cutoff_ts en display_mode. De CSS staat in views/css/front.css (klassen met het voorvoegsel dfdd-).

Probleemoplossing

  • De widget verschijnt niet op de productpagina: controleer of de zone in de configuratie geactiveerd is en of uw thema de hook displayProductAdditionalInfo wel degelijk implementeert (dat is het geval bij het Classic-thema en bij de meeste thema’s op de markt).
  • De aftelling toont 00:00:00: de cut-off van de dag is voorbij; de teller verschijnt alleen zolang verzending dezelfde dag nog mogelijk is.
  • De datums lijken een dag verschoven: controleer de tijdzone die in de module is ingesteld; de berekening gebruikt die tijdzone en niet die van de server of van de browser.
  • Een feestdag wordt niet meegerekend: controleer of hij actief staat, en bij een eenmalige feestdag of het jaar wel degelijk met het lopende jaar overeenkomt.

Verwijdering

Bij het verwijderen worden de drie tabellen van de module gewist, samen met alle configuratie-items (voorvoegsel DFDD_), het beheertabblad voor de feestdagen en de hookregistraties. De per product ingevulde verwerkingstijden gaan dus definitief verloren: exporteer ze vooraf als u ze nodig hebt.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support