DataFirefly Pack Variants: documentatie
Combinatiekeuze in native PrestaShop 8-packs instellen, van installatie tot bulkimport.
Wat de module doet
In PrestaShop dwingt een native pack je om voor elk van zijn producten één precieze combinatie te kiezen, via het tabblad Pack in de back office. Dat koppel product en combinatie staat in de database en de klant kan er niets aan veranderen. Een pack met een T-shirt in vier maten verkopen betekent dus vier packs aanmaken.
DataFirefly Pack Variants voegt een keuzelijst toe op de packpagina. Voor elk product dat je configureerbaar maakt, kiest de klant zijn combinatie. De selectie wordt op de server gevalideerd, bewaard bij de winkelwagenregel, meegenomen tot op de factuur, en de voorraad die afgeboekt wordt is die van de werkelijk gekozen combinatie.
De module wijzigt de packtabel van PrestaShop nooit. De in de back office gedeclareerde combinatie blijft staan en dient als standaardwaarde. Verwijder je de module, dan zijn je packs weer strikt native.
Installatie
- Open in de back office Modules > Modulebeheer, klik op Een module uploaden en stuur de ZIP.
- De module maakt zijn tabellen aan en voegt een tabblad Packcombinaties toe onder Catalogus.
- Open de moduleconfiguratie om de titel van het blok, zijn positie en het gedrag van de native lijst in te stellen.
De module installeert op PrestaShop 8.0 tot 8.x. Hij vraagt geen Composer-afhankelijkheid en geen override van themabestanden.
Een pack instellen
Ga naar Catalogus > Packcombinaties. Het zoekveld bovenaan toont alleen producten die als pack gemarkeerd zijn: typ een naam, een referentie of een ID en selecteer het pack. Reeds ingestelde packs staan er meteen onder.
Het bewerkingsscherm toont elk product van het pack, met zijn aantal, zijn gedeclareerde combinatie en zijn miniatuur. Producten zonder combinaties worden gemarkeerd en bieden geen instelling.
De drie modi
- Vaste combinatie: native gedrag, geen keuze voor de klant. Dit is de standaard.
- Klant kiest een willekeurige combinatie: alle combinaties van het product worden aangeboden.
- Klant kiest uit de geselecteerde combinaties: je vinkt de toegestane combinaties aan in de lijst. Er zijn er minstens twee nodig, anders wordt het opslaan geweigerd.
De keuze beperken tot één attribuutgroep
Een product met Maat en Kleur levert al snel tientallen combinaties op. De beperking tot één attribuutgroep lost het meest voorkomende geval op: je kiest Maat, en de andere attributen blijven vastzitten op de waarden van de in de back office gedeclareerde combinatie. De klant ziet alleen een lijst met maten, de kleur blijft die welke jij voor het pack hebt bepaald.
De knop Dit pack resetten onderaan het scherm verwijdert de volledige configuratie van het pack en zet het terug op zijn native combinaties.
Bulkimport
Heeft je catalogus al tientallen packs, dan past het paneel Bulkimport op de startpagina van de module dezelfde regel toe op allemaal. Je kiest:
- Te verwerken packs: alleen de nog niet ingestelde, of alle packs waarbij bestaande instellingen worden overschreven.
- Alleen actieve packs: om uitgeschakelde packs over te slaan.
- Toe te passen configuratie: vrije keuze op alle producten, of terugzetten op de native vaste combinaties.
- Beperking tot een attribuutgroep: Maat bijvoorbeeld, overal toegepast waar die groep bestaat.
- Producten zonder die groep: vast laten staan of al hun combinaties aanbieden.
De knop Voorbeeld telt de betrokken packs en simuleert de eerste batch zonder iets weg te schrijven. De knop Import uitvoeren verwerkt de catalogus vervolgens in batches van 25, met een voortgangsbalk. De paginering gebruikt een cursor op het product-id, wat verschuivingen voorkomt wanneer het wegschrijven de omvang onderweg verandert, en timeouts bij grote catalogi.
Algemene instellingen
In de moduleconfiguratie:
- Titel van het blok: de kop boven de keuzelijsten, per taal vertaalbaar.
- Positie van het blok: onder de productinformatie via de native hook, of net boven de knop In winkelwagen via een JavaScript-verplaatsing.
- Native packlijst verbergen: standaard aan. De module toont zelf de volledige packinhoud, en de native lijst laten staan zou de gedeclareerde combinaties tonen, wat de keuze van de klant tegenspreekt.
- CSS-selector van de native lijst:
.product-packvoor Classic en Hummingbird. Pas dit alleen aan als je thema de packinhoud elders weergeeft. - Productprijzen tonen: de stukprijs van elk product in het pack.
- Uitverkochte combinaties verbergen: staat dit uit, dan blijven ze selecteerbaar wanneer het product bestellen bij nul voorraad toestaat.
- Native personalisatieveld verbergen: laat dit aan, zie de volgende sectie.
Wat de klant ziet
Op de packpagina toont de module een kaart met de volledige inhoud: een keuzelijst voor elk configureerbaar product, de gedeclareerde combinatie in tekst voor de rest. Elke regel draagt de miniatuur, het aantal en, als de optie aanstaat, de stukprijs.
Bevestigt de klant zonder een keuze te hebben ingevuld, dan verschijnt een foutmelding onder het blok en wordt toevoegen aan de winkelwagen geblokkeerd. Uitverkochte combinaties worden uitgeschakeld of verborgen volgens je instellingen.
Winkelwagen, bestelling en factuur
De selectie wordt bewaard in het native personalisatiemechanisme van PrestaShop. Dat is wat twee identieke packs met verschillende samenstellingen op twee aparte winkelwagenregels houdt, terwijl de core regels met hetzelfde product normaal samenvoegt. Voegt een klant precies dezelfde samenstelling twee keer toe, dan gaat het aantal van de bestaande regel simpelweg naar twee.
Het overzicht van de keuze verschijnt automatisch in de winkelwagen, de orderbevestiging, de e-mails, de klantgeschiedenis, het orderdetail in de back office en de PDF-factuur.
De module maakt op elk packproduct een tekstpersonalisatieveld aan, gemarkeerd als moduleveld. Sommige thema’s tonen daarvoor toch een leeg tekstvak. De instelling Native personalisatieveld verbergen regelt dat en moet aan blijven, tenzij je thema modulevelden al verbergt.
Voorraad
Een native pack boekt de voorraad af van de combinatie die in de packtabel staat, niet die van de klant. Bij het bevestigen van de bestelling corrigeert de module dat: de gedeclareerde combinatie wordt teruggeboekt, de gekozen wordt afgeboekt, winkel per winkel.
Die correctie geldt alleen voor packs waarvan de voorraadmodus de onderliggende producten afboekt. Een pack dat alleen zijn eigen voorraad afboekt valt erbuiten, en het bewerkingsscherm waarschuwt je daarvoor.
Problemen oplossen
Het blok verschijnt niet op de productpagina
Het blok verschijnt alleen als het pack minstens één echt configureerbaar product bevat: een andere modus dan vast, een product met combinaties en minstens twee kandidaat-combinaties na filtering op witte lijst, attribuutgroep en voorraad. Controleer ook of de hook displayProductAdditionalInfo in je thema geregistreerd is.
De native packlijst blijft zichtbaar
Je thema gebruikt .product-pack niet. Inspecteer de pagina, noteer de klasse of het id van de container en vul die in bij de instelling voor de CSS-selector.
Er verschijnt een leeg tekstvak op de pagina
Dat is het personalisatieveld van de module, weergegeven door sommige thema’s. Zet de instelling aan die het verbergt.
De keuze verschijnt niet in de winkelwagen
Leeg de PrestaShop-cache en controleer of geen enkele externe module het formulier voor toevoegen aan de winkelwagen vervangt. De module onderschept de klik op de knop in de capture-fase om vóór het themascript te draaien, maar een formulier dat volledig door een andere module wordt herbouwd kan dat aangrijpingspunt omzeilen.
Bekende beperkingen
- De prijsimpact van combinaties wordt genegeerd. Een native pack wordt tegen één prijs verkocht, die een personalisatie niet kan wijzigen. Het bewerkingsscherm markeert de betrokken producten zodat je die combinaties uit de toegestane lijst kunt halen.
- De factuur blijft één regel tegen het btw-tarief van het pack, met de details van de keuzes in het personalisatieoverzicht. Moet elk onderdeel apart gefactureerd worden met zijn eigen tarief, kijk dan naar DataFirefly Pack Pro of Pack VAT Pro.
- Deze versie richt zich op PrestaShop 8.0 tot 8.x. Omdat het scherm voor packbeheer in PrestaShop 9 van technische basis is veranderd, komt de port als een aparte versie.
Compatibiliteit
- PrestaShop 8.0.0 tot 8.x
- Multistore: de instellingen worden per winkel opgeslagen
- Meertalig: module-interface geleverd in het Nederlands, Engels, Frans, Spaans, Duits, Italiaans, Pools en Portugees
- Getest op het Classic-thema