Smart Offers: volledige gids
Bundelaanbiedingen instellen en beheren op PrestaShop 1.7.8, 8 en 9: koop X krijg Y, bundelcadeaus, aanbiedingen naar keuze en pakketten, automatisch en veilig toegepast in de winkelwagen.
Met Bundelaanbiedingen voert u de vier meest gebruikte bundelacties uit in PrestaShop: koop X en krijg Y van hetzelfde product, een cadeau bij samen gekochte producten, aanbiedingen naar keuze uit een selectie en pakketten. De module voegt de beloningsartikelen toe aan de winkelwagen, past de korting toe en toont de aanbieding op de productpagina en in de winkelwagen, op PrestaShop 1.7.8, 8 en 9.
Compatibiliteit
| Onderdeel | Ondersteund |
|---|---|
| PrestaShop | 1.7.8, 8.0 tot 8.2, 9.0 en hoger (één zip-bestand) |
| PHP | 7.2 en hoger (de versie die uw PrestaShop vereist, geldt) |
| Thema’s | Classic, Hummingbird en hun childthema’s |
| Multistore, meerdere valuta, combinaties | Ja |
| Talen | Engels, Frans, Spaans, Duits, Italiaans, Pools, Nederlands, Portugees |
Installatie en update
- Open in de backoffice Modules → Modulebeheer en klik op Een module uploaden.
- Sleep het bestand
dfoffers-3.0.0.ziperin. - De module verschijnt onder Catalogus → Kortingen → Bundelaanbiedingen, naast de winkelwagenregels.
Update vanaf 2.x: upload het nieuwe zip-bestand over het oude. Uw aanbiedingen, producten, vertalingen en winkels blijven behouden. Het updatescript voegt de nieuwe opties toe, verplaatst het menu-item en beveiligt de winkelwagenregels die 2.x al had aangemaakt (er kan geen tegoedbon voor het restbedrag meer ontstaan).
Het dashboard
De pagina Aanbiedingen toont de lopende aanbiedingen, de geldige bestellingen van de laatste 30 dagen waarin een aanbieding is gebruikt, hun omzet en de toegekende korting. Elke aanbieding toont haar regel in gewone taal, haar status (lopend, gepland, afgelopen, uitgeschakeld), haar data, haar bestellingen en haar korting. U kunt zoeken, op status filteren, met één klik in- of uitschakelen, dupliceren, verwijderen en bulkacties uitvoeren.

De vier soorten aanbiedingen
- Koop X, krijg Y van hetzelfde product: de klassieke 1+1 of 2+1. Elk product van de lijst krijgt een eigen aanbieding; laat “elke combinatie” staan om alle varianten samen te tellen.
- Koop producten samen, krijg een cadeau: alle triggerproducten moeten in de winkelwagen zitten, de beloningsproducten zijn dan gratis of afgeprijsd.
- Naar keuze uit een selectie: de klant kiest N artikelen uit producten of combinaties, de goedkoopste zijn gratis of afgeprijsd (bijvoorbeeld 3 voor 2 op alle mokken).
- Pakket: voor elk pakket van X stuks van een product krijgt de klant Y stuks van een ander product.
Een aanbieding maken
Klik op Nieuwe aanbieding of kies een van de vier modellen zolang er nog geen aanbieding bestaat. De editor heeft vijf stappen en rechts een live voorbeeld van de productbanner en een samenvatting van de regel in gewone taal.
- Type aanbieding: een van de vier kaarten. Alleen de nuttige velden worden getoond.
- Producten en aantallen: voeg de producten toe via het zoekvenster, op naam, referentie of ID. Een product met combinaties voegt u toe voor alle combinaties of u kiest er een of meer.
- Beloning: gratis (100%) of een percentage (50 voor “de tweede voor de halve prijs”), automatisch toevoegen aan de winkelwagen of niet, herhalen bij elk volledig pakket, maximum per winkelwagen.
- Weergave: naam, badgetekst en extra tekst in elke taal, kleur van de aanbieding. De tekstkleur van de badge wordt automatisch gekozen zodat hij leesbaar blijft.
- Beschikbaarheid: status, begin- en einddatum, prioriteit, klantgroepen en winkels.


Als de beloningsartikelen niet automatisch worden toegevoegd, voegt de klant ze zelf toe en geldt de korting zodra ze in de winkelwagen zitten; de winkelwagen herinnert hem dan aan de wachtende beloning.

De banner op de productpagina
Op elk betrokken product legt een banner de aanbieding uit met de te kopen producten en de beloning, de doorgestreepte normale prijs naast de gratis of afgeprijsde artikelen, de einddatum van de aanbieding en de status “Toegepast in uw winkelwagen” zodra de klant ervan profiteert. Hij past zich aan smalle kolommen en mobiel aan.




De winkelwagen
Onder de regels van de winkelwagen ziet de klant de toegepaste aanbiedingen met het bespaarde bedrag en de ontvangen artikelen. Een badge (“Gratis ×1”, “1 aan -50%”) markeert de regels met afgeprijsde stuks, in de winkelwagen en in het besteloverzicht. Het blok wordt na elke wijziging van het aantal bijgewerkt, in Classic en in Hummingbird.

U bent er bijna toont wat er ontbreekt om een aanbieding te ontgrendelen (“Voeg 1 × T-shirt toe”) en Er wacht een beloning op u herinnert de klant eraan een beloning toe te voegen die niet automatisch wordt toegevoegd.

Als de klant een cadeau verwijdert, wordt het niet opnieuw opgedrongen: de aanbieding wordt opzijgezet en er verschijnt een knop Terugzetten. Bij “koop X krijg Y” op hetzelfde product worden eerst de gratis stuks verwijderd: de klant verliest nooit een betaald stuk.

Instellingen
- Positie van de banner: onder de knop In winkelwagen (aanbevolen), direct onder de prijs, onder de afbeeldingen, in het geruststellingsblok of over de volle breedte onder de beschrijving.
- Compacte banner, prijzen in de banner en einddatum.
- Winkelwagen: tonen wat er ontbreekt om een aanbieding te ontgrendelen, badge bij de regels van de winkelwagen.
- Debuglogboek: schrijft elke berekening van de winkelwagen naar Geavanceerde parameters → Logs; laat het uit in productie.
- Onderhoud: aantal winkelwagenregels gemaakt door de module en opschonen van die van verlaten winkelwagens.

Hoe de engine werkt
- Bij elke wijziging van de winkelwagen (en bij het openen van de winkelwagen of de kassa) leest de module de winkelwagen en onderscheidt de stuks die de klant betaalt van de stuks die ze zelf heeft toegevoegd.
- De aanbiedingen worden op prioriteit beoordeeld (1 eerst). Een stuk dat door een aanbieding gebruikt is, wordt niet door een andere hergebruikt: hetzelfde artikel krijgt nooit twee keer korting.
- Voor elke geldende aanbieding worden ontbrekende beloningen toegevoegd (als u dat koos) en wordt per afgeprijsd product een winkelwagenregel gemaakt of bijgewerkt (code
DFOFFER_…). - Aanbiedingen die niet meer gelden, worden ingetrokken: toegevoegde stuks teruggenomen, winkelwagenregels verwijderd.
Beveiliging en belastingen
- Alles wordt op de server berekend uit de winkelwagen en uw aanbiedingen; niets wat de browser verstuurt, telt mee in een prijs.
- Elke winkelwagenregel is beperkt tot het afgeprijsde product: ze kan nooit hoger zijn dan wat de klant van dat product in de winkelwagen heeft, en op de korting geldt het btw-tarief van dat product, ook op de factuur.
- De regels maken nooit een tegoedbon voor het restbedrag aan, verschijnen niet bij “Mijn kortingsbonnen” en een code die uit een andere winkelwagen is gekopieerd, wordt vóór de betaling verwijderd.
- Een beloning die niet op voorraad of uitgeschakeld is, wordt niet afgeprijsd. Een geplaatste bestelling wordt nooit gewijzigd.
- Acties in de backoffice volgen de rechten van het tabblad per medewerker (bekijken, toevoegen, bewerken, verwijderen).
Winkelwagenregels van winkelwagens die al 30 dagen verlaten zijn, worden eenmaal per dag automatisch verwijderd wanneer u de module opent; regels die door een bestelling gebruikt zijn, blijven altijd bewaard voor uw boekhouding.
Help en probleemoplossing
Het tabblad Help van de module legt de werking uit en beantwoordt de meest gestelde vragen.
- De banner verschijnt niet: controleer of de aanbieding is ingeschakeld, binnen haar data valt, beschikbaar is voor de klantgroep en de winkel, en of het product actief is. Probeer daarna een andere bannerpositie: sommige thema’s roepen niet elke hook aan.
- Een kortingscode van u wordt geweigerd samen met een aanbieding: een code die als “niet combineerbaar met andere winkelwagenregels” is ingesteld, kan de combinatie weigeren; pas hem aan in Catalogus → Kortingen.
- De badge ontbreekt bij de regels van de winkelwagen: uw thema moet
{hook h='displayProductPriceBlock' product=$product type="unit_price"}of{hook h='displayCartExtraProductActions' product=$product}bevatten in het sjabloon van de winkelwagenregel.

Technische details
- Hooks: displayProductAdditionalInfo (of de gekozen positie), displayProductPriceBlock, displayAfterProductThumbs, displayReassurance, displayFooterProduct, displayShoppingCartFooter, displayCartExtraProductActions, actionCartSave, actionFrontControllerSetMedia, actionObjectProductDeleteAfter, actionObjectCombinationDeleteAfter.
- Tabellen: ps_dfoffers_offer, _offer_lang, _trigger, _reward, _shop, _cart_auto, _rule, _cart_declined.
- Sjablonen die u in uw thema kunt overschrijven:
views/templates/hook/product-banner.tpl,cart-offer.tpl,cart-line-gift.tpl. CSS-klassen gebruiken het voorvoegseldfoffers-. - Geen override, geen cronjob, geen externe dienst. Verwijderen wist de aanbiedingen en de ongebruikte winkelwagenregels; regels die door bestellingen gebruikt zijn, blijven bewaard.