PS PrestaShop Beginner

Flitsverkoop & Aftelklok: volledige gids

Installatie, configuratie en gebruik van de flitsverkopen: automatische planning van de kortingen via specifieke prijzen, servergesynchroniseerde aftelklok, sticky banner, targeting en evergreen-modus voor PrestaShop 8 en 9.

Bijgewerkt Moduleversie 1.1.0

Overzicht en vereisten

Flitsverkoop verandert uw promoties in echte tijdgebonden flash sales. U programmeert een campagne op een datumvenster; de module past de korting automatisch toe via de native specifieke prijzen van PrestaShop en toont een aftelklok die op de servertijd is gesynchroniseerd. Het promotietarief geldt dus overal — productpagina, lijsten, winkelwagen en e-mails — zonder enige wijziging aan uw thema.

  • Compatibel met PrestaShop 8.0 tot 9.x, Classic-thema en afgeleide thema’s.
  • PHP 7.4 tot 8.3.
  • Multistore en meertalig (FR/EN/ES/DE/IT/PL).
  • Geen CRON-taak vereist: het activeren en stoppen van de korting wordt gestuurd door de datums van de specifieke prijs.
  • PrestaShop-conforme architectuur (ModuleAdminController, ObjectModel), PSR-4-autoloader zonder Composer-afhankelijkheid.

De korting wordt weggeschreven in een specifieke prijs waarvan het venster from / to overeenkomt met de campagnedatums. PrestaShop activeert en verwijdert haar zelfstandig, op de seconde nauwkeurig.

Installatie

Installeer de module zoals elke andere PrestaShop-module:

  1. Download het archief dfflashsale.zip vanuit uw klantaccount.
  2. Ga in de back-office naar Modules > Modulebeheer.
  3. Klik op Een module installeren en sleep het archief erin.
  4. Beheer na de installatie uw campagnes via Catalogus > Flitsverkopen.

Bij de installatie maakt de module haar tabellen aan (campagnes, targeting, mapping van de specifieke prijzen), registreert ze haar weergavehooks en voegt ze het tabblad Flitsverkopen toe onder Catalogus.

Algemene module-instellingen

De configuratiepagina (Configureren vanuit het modulebeheer) bundelt de globale instellingen, gemeenschappelijk voor alle campagnes:

  • Aftelklok synchroniseren op de server: stemt de klok af op de servertijd (aanbevolen). Zie de aparte sectie.
  • Pagina-inhoud verschuiven (push body): voegt automatisch een marge toe zodat de sticky banner nooit de inhoud bedekt.
  • Banner tonen op mobiel: toont of verbergt de banner op kleine schermen.
  • Z-index van de banner: stapelniveau van de banner, te verhogen als een element van uw thema eroverheen komt.

Een flitsverkoopcampagne aanmaken

Klik vanuit het tabblad Catalogus > Flitsverkopen op Een campagne toevoegen. Het formulier is georganiseerd in panelen.

Algemeen

  • Naam: interne identifier van de campagne (vrij te kiezen).
  • Actief: activeert of pauzeert de campagne.
  • Begin-/einddatum: activiteitsvenster. De korting en de aftelklok steunen op deze datums.
  • Prioriteit: als meerdere campagnes hetzelfde product targeten, wint voor de weergave de campagne met de hoogste prioriteit.
  • Winkels: selecteer in multistore de betrokken winkels.

Korting

  • Kortingstype: Percentage (bijv. -30%) of Vast bedrag (bijv. -15 €).
  • Waarde: het percentage of het bedrag van de korting.
  • Valuta: bij een korting in vast bedrag, de referentievaluta.
  • Belasting: geeft aan of het vaste bedrag inclusief of exclusief btw is.

De korting wordt toegepast via de specifieke prijzen: ze combineert met de native prijsregels van PrestaShop volgens hun prioriteit, en is al zichtbaar in de winkelwagen.

Targeting

Kies de reikwijdte van de campagne:

  • Hele catalogus: de korting geldt voor alle producten.
  • Categorieën: selecteer een of meerdere categorieën. De optie Subcategorieën opnemen breidt de korting uit tot de hele boomstructuur.
  • Producten: zoek en selecteer specifieke producten (zoeken op naam, referentie of identifier).
  • Merken: selecteer een of meerdere fabrikanten. Al hun producten worden automatisch opgenomen, ook die na het aanmaken van de campagne worden toegevoegd.

Weergave

  • Banner met aftelklok: toont de globale promotiebalk.
  • Positie van de banner: boven- of onderaan de pagina.
  • Vaste banner (sticky): houdt de banner zichtbaar bij het scrollen.
  • Tonen op de productpagina’s: voegt een aftelblok toe onder de prijs.
  • Tonen op de homepage: voegt een promotieblok toe op de startpagina.
  • Badge op de productvisuals: toont de campagnenaam over de foto, in de lijsten en op de productpagina.
  • Teaser vóór de start: toont een aftelklok “start over…” vóór de begindatum.
  • Aan het einde van de aftelklok: het element verbergen of een eindbericht tonen.

Uiterlijk en teksten

In het paneel Uiterlijk stelt u de achtergrondkleur, de tekstkleur en de accentkleur in, plus de link van de call-to-action-knop (CTA). Het paneel Teksten bundelt de vertaalbare labels: titel en ondertitel van de banner, knoptekst en eindbericht, in te voeren voor elke taal van de winkel.

Hoe de planning werkt

Wanneer u een campagne opslaat, maakt de module de specifieke prijzen aan die bij de targeting horen: een globale specifieke prijs (product 0) voor “hele catalogus”, of een specifieke prijs per product voor de targeting op categorieën en producten. Het geldigheidsvenster van elke specifieke prijs is afgestemd op de begin- en einddatum van de campagne.

PrestaShop activeert en deactiveert de korting dus zelfstandig, op de seconde, zonder geplande taak. De identifiers van de aangemaakte specifieke prijzen worden in een mappingtabel onthouden, zodat ze netjes worden verwijderd bij het wijzigen of verwijderen van de campagne of bij het deïnstalleren.

Bij targeting op categorieën met subcategorieën wordt de productlijst bij het opslaan opgelost door de boomstructuur te doorlopen (nleft / nright). Sla de campagne opnieuw op als u uw categorieën reorganiseert.

De servergesynchroniseerde aftelklok

De aftelklok is afgestemd op de servertijd, niet op die van de bezoeker. Bij de weergave stuurt de module de servertijdstempel en de einddatum mee; het script berekent een verschil tussen de servertijd en de lokale tijd, en telt vervolgens lokaal af op basis van dat verschil.

Resultaat: een bezoeker die de klok van zijn computer vooruit- of terugzet, vervalst de timer niet. Er is geen herhaald netwerkverzoek nodig, het aftellen blijft vloeiend en correct voor iedereen.

U kunt de serversynchronisatie uitschakelen in de algemene instellingen; de aftelklok baseert zich dan op de lokale tijd van de browser.

De badge op de productvisuals

De optie Badge op de productvisuals toont de naam van de promotie direct op de productafbeelding, zowel in de categorielijsten als op de productpagina. Het is het juiste middel om een benoemde actie visueel aan te kondigen, bijvoorbeeld BLACK FRIDAY.

Het label voert u in via het paneel Teksten, veld Tekst van de productbadge, voor elke taal. Blijft het leeg, dan neemt de module de titel van de banner over. De kleur van de badge is de accentkleur van de campagne.

Technisch wordt de badge toegevoegd aan de native flags van PrestaShop, dezelfde die al de labels “Nieuw” of “-30%” tonen. Hij wordt dus gepositioneerd en gestyled door uw thema, zonder template-override.

De badge verschijnt alleen tijdens de actieve periode van de campagne. In teasermodus, vóór de begindatum, blijft hij verborgen om geen korting aan te kondigen die nog niet wordt toegepast.

De evergreen-modus

De evergreen-modus verandert de campagne in een individuele, doorlopende timer: elke bezoeker krijgt zijn eigen deadline, gestart bij zijn eerste bezoek en gebaseerd op een door u gedefinieerde duur in minuten. De deadline wordt lokaal bewaard (localStorage) om coherent te blijven tussen pagina’s en bezoeken.

In evergreen-modus is de aftelklok eigen aan elke bezoeker en komt ze niet overeen met het werkelijke kortingsvenster. Gebruik haar voor gepersonaliseerde urgentieberichten in plaats van voor het aankondigen van een gemeenschappelijk promotie-einde.

Meertalig en multistore

Alle labels (titel, ondertitel, knop, eindbericht) zijn per taal vertaalbaar. In multistore kan elke campagne tot bepaalde winkels worden beperkt, en de specifieke prijzen worden per winkel aangemaakt. Eenzelfde campagne kan zo één specifieke winkel targeten zonder de andere te beïnvloeden.

FAQ en probleemoplossing

De korting wordt niet toegepast

Controleer of de campagne actief is, of de datum van vandaag binnen de begin- en einddatum valt, en of ze de huidige winkel betreft. Controleer bij targeting op categorieën of u de campagne opnieuw hebt opgeslagen na elke reorganisatie van de boomstructuur.

De banner bedekt mijn menu of mijn inhoud

Schakel de optie Pagina-inhoud verschuiven (push body) in de algemene instellingen in. Komt een element van uw thema boven de banner uit, verhoog dan de waarde van de z-index.

De aftelklok toont een incoherente tijd

Controleer of de tijd van uw server correct is en of de serversynchronisatie-optie actief is. De timer stemt zich af op de servertijd, onafhankelijk van de klok van de bezoeker.

Meerdere campagnes targeten hetzelfde product

De weergave houdt de campagne met de hoogste prioriteit aan. Aan kortingszijde geldt de prioriteitslogica van de specifieke prijzen van PrestaShop.

De badge verschijnt niet op de foto’s

Controleer eerst of de optie Badge op de productvisuals op de campagne is ingeschakeld en of de begindatum voorbij is. Blijft de badge afwezig na het legen van de cache, open dan de configuratiepagina van de module of het tabblad Catalogus > Flitsverkopen: de module controleert dan haar hooks en registreert de ontbrekende opnieuw. Dit geval doet zich voor na een update door eenvoudige bestandsvervanging, die het updatescript niet uitvoert.

Wat gebeurt er bij het deïnstalleren?

Het deïnstalleren verwijdert alle door de module aangemaakte specifieke prijzen via haar mappingtabel, verwijdert haar hooks en haar tabblad, en schoont haar tabellen op. Uw oorspronkelijke prijzen worden volledig hersteld.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support