DataFirefly Maattabel: documentatie
Instelbare maattabel, interactieve calculator, eigen SEO-pagina en feedback na aankoop voor PrestaShop 8 en 9.
Overzicht
DataFirefly Maattabel voegt aan uw PrestaShop-webshop een volledig systeem toe van maattabellen die u per categorie, fabrikant of product kunt instellen, met omrekentabellen EU/US/UK/FR/JP, een interactieve calculator die een maat aanbeveelt, een indexeerbare SEO-pagina per categorie, en een feedbackwidget na aankoop met een geaggregeerde afwijkingsscore.
De module richt zich op webshops in kleding en schoenen, waar meer dan 20 % van de retouren met de maat te maken heeft. Hij zet die wrijving om in een geruststellend aankooptraject: de klant ziet automatisch de juiste tabel, kan zijn lichaamsmaten invoeren voor een persoonlijke aanbeveling, en u krijgt gekwalificeerde feedback waarmee u slecht gegradeerde producten opspoort.
Compatibiliteit
- PrestaShop 8.0.x, 8.1.x, 8.2.x, 9.0.x
- PHP 8.1, 8.2, 8.3
- Multistore (alle toewijzingen zijn gescopeerd op
id_shop) - Polylang FR/EN/ES/DE meteen bruikbaar
- Thema’s classic en hummingbird en maatwerkthema’s (7 verschillende posities beschikbaar)
Installatie
- Upload het ZIP-bestand
dfsizeguide.zipvia Modules → Modulebeheer → Een module uploaden. - Klik op Installeren. De 4 vooraf ingestelde tabellen (textiel dames, textiel heren, schoenen dames, schoenen heren) worden automatisch in 4 talen aangemaakt, en er wordt een standaardtoewijzing op de tabel textiel dames gemaakt.
- Zodra de installatie klaar is, verschijnt het tabblad “Maattabel” op al uw productpagina’s, zonder verdere configuratie.
- Ga naar Modules → DataFirefly Maattabel → Configureren om de posities, de standaardeenheid en de actieve functies bij te stellen.
Kernbegrippen
De tabelkeuze op 4 niveaus
Wanneer een klant op een productpagina komt, zoekt de module welke tabel hij moet tonen via een strikte, aflopende prioriteit:
- Product: hebt u uitdrukkelijk een tabel aan dat specifieke product toegewezen, dan wint die.
- Fabrikant: zo niet, de tabel die aan het merk van het product is toegewezen.
- Categorie: zo niet, de eerste categorie van het product met een tabel, te beginnen bij de diepste (de specifiekste wint).
- Standaard: zo niet, de tabel die als globale terugval is aangeduid.
Met die hiërarchie onderhoudt u één tabel per merk of per afdeling zonder de afzonderlijke productpagina’s aan te raken, terwijl u toch chirurgisch kunt afwijken.
Kolomtypes
Elke tabel bestaat uit kolommen met een type:
- Kolom “maat”: één tekstwaarde per rij (S, M, 38, XL). Wordt gebruikt voor de internationale omrekening (EU, US, UK, FR, JP).
- Kolom “meting”: een numeriek bereik min/max per rij (bijvoorbeeld borstomtrek 88–92 cm). Wordt gebruikt om aan te geven welke lichaamsmaten bij elke maat horen.
De interactieve calculator steunt uitsluitend op de kolommen van het type “meting” om de aanbevolen maat te bepalen.
Configuratie
Posities op de productpagina
De module biedt 7 posities die u afzonderlijk kunt activeren in Configureren → Posities productpagina:
- Producttabblad (standaard aan, aanbevolen): hook
displayProductExtraContent, voegt een net tabblad toe naast “Beschrijving” en “Details”. Werkt op vrijwel alle thema’s vanaf PS 1.7. - Onder de prijs: hook
displayProductPriceBlock(typeafter_price), rendert een compacte link net onder de prijs. - Bij de knop “Toevoegen aan winkelwagen”: hook
displayProductActions, rendert een compacte knop. - Onder de productinfo: hook
displayProductAdditionalInfo, rendert een prominente knop. - In het vertrouwensblok: hook
displayReassurance, sluit visueel aan bij uw andere argumenten (levering, retour). - Na de productafbeeldingen: hook
displayAfterProductThumbs, rendert een compacte knop net onder de galerij. - Onderaan de productpagina: hook
displayFooterProduct, rendert een prominente knop in de voettekst.
U kunt meerdere posities tegelijk activeren: het modaal van de maattabel wordt maar één keer in de DOM geplaatst (geen dubbels), en de extra knoppen openen datzelfde modaal.
Het producttabblad is de enige positie die de tabel inline rendert. De 6 andere posities tonen een knop die het modaal opent.
Algemene instellingen
- Standaardeenheid: cm of inches. De klant kan ter plekke omschakelen en die voorkeur wordt in de berekening meegenomen.
- Interactieve calculator: activeert de invoer van de lichaamsmaten en de maataanbeveling (standaard aan).
- Klantfeedback na aankoop: activeert de widget die de klant vraagt of de maat paste (standaard aan).
- Gestructureerde data JSON-LD: activeert de injectie van de Schema.org-opmaak voor een betere vindbaarheid (standaard aan).
- Slug van de SEO-pagina: voorvoegsel van de URL van de eigen maattabelpagina’s (standaard
size-guide, te vertalen naarmaattabelals u een Nederlandstalige URL wilt).
Een tabel aanmaken en bewerken
Menu Modules → Maattabellen → Tabellen. Klik op “Toevoegen” om een nieuwe tabel aan te maken, of op het potloodpictogram om een bestaande tabel te bewerken.
Velden van de tabel
- Interne code: unieke technische identificatie (bijvoorbeeld
dames-jurken-2026). Wordt gebruikt in de SEO-URL’s en de logs. - Type: textiel boven, textiel onder, jurk, schoenen of maatwerk.
- Naam: meertalig label dat de klanten zien (titel van het tabblad, titel van het modaal, h1 van de SEO-pagina).
- Inleiding (HTML): meertalige inhoud die boven de tabel verschijnt.
- Meetinstructies (HTML): een inklapbaar kader dat uitlegt hoe elke maat wordt genomen.
- Voettekst (HTML): meertalige inhoud onder de tabel (waarschuwing, link naar het retourbeleid enzovoort).
- Meta title / Meta description: voor de eigen SEO-pagina.
- Actief: aan/uit-schakelaar. Een inactieve tabel wordt nooit getoond, ook niet wanneer ze is toegewezen.
De tabel bewerken
Onder het formulier van de tabel bouwt u met een visuele editor de tabel op:
- Klik op Kolom maat om een tekstkolom toe te voegen. Vul de code in (bijvoorbeeld
euofintl) en het meertalige label. - Klik op Kolom meting om een numerieke kolom toe te voegen. Vul de code in (bijvoorbeeld
chest_cm) en de eenheid (cm, inches, mm). - Klik op Rij om een rij toe te voegen. Vul de cellen in: gewone tekst voor de kolommen “maat”, waarden min/max voor de kolommen “meting”.
- Klik op Opslaan. Het bewaren gebeurt in een atomaire SQL-transactie: ofwel wordt alles opgeslagen, ofwel niets.
Een tabel toewijzen
Menu Modules → Maattabellen → Toewijzingen.
- Kies in de lijst de tabel die u wilt toewijzen.
- Kies het type doel: Standaard (globale terugval), Categorie, Fabrikant of Product.
- Afhankelijk van het type verschijnt een tweede veld om de categorie te kiezen (in een ingesprongen boom), het merk (keuzelijst) of het product-ID (rechtstreekse invoer).
- Klik op Toevoegen / Bijwerken. Bestaat er al een toewijzing voor dat doel, dan wordt ze overschreven (upsert).
Alle toewijzingen zijn in multistore per winkel gescopeerd. U kunt dus voor dezelfde categorie een andere tabel tonen op twee winkels binnen dezelfde groep.
De maatcalculator
De calculator verschijnt onder de tabel, alleen wanneer de tabel minstens één kolom van het type “meting” heeft.
Scoringsalgoritme
De klant voert zijn maten in de velden in (één veld per kolom “meting”). Bij het verzenden:
- De waarden worden naar centimeters genormaliseerd (met automatische omrekening wanneer de gebruiker inches heeft gekozen: ×2,54).
- Voor elke rij van de tabel berekent de module een score: +2 punten wanneer de maat van de klant precies binnen het bereik min/max van de cel valt, +1 punt wanneer ze dichtbij ligt (op ±5 % van het bereik), en 0 punten in de overige gevallen.
- De rij met de hoogste score wint.
- Bij een gelijke stand wordt de rij gekozen waarvan de bereiken het best rond de waarden van de klant liggen.
- De aanbevolen maat wordt bij voorkeur uit de kolom
eugehaald, daarna uitfr,intl,uk,usenjp.
Terugkoppeling aan de gebruiker
De calculator toont de aanbevolen maat met een betrouwbaarheidsscore in procenten, de top 3 van mogelijke kandidaten elk met hun score, een markering van de aanbevolen rij in de tabel erboven, en de lijst met maten die met geen enkele rij overeenkomen (met een waarschuwing).
Klantfeedback na aankoop
Onderaan de productpagina verschijnt een widget “Paste de maat?” met 5 keuzes: te klein, wat klein, perfect, wat groot, te groot. Hij wordt alleen getoond wanneer aan deze voorwaarden is voldaan:
- De klant is ingelogd (actieve sessie).
- De klant heeft dat product daadwerkelijk gekocht (join met
ordersenorder_detail, met een geldige status). - De klant heeft over dat product nog geen mening gegeven.
De toegangscontrole gebeurt volledig aan de serverzijde, zonder risico op omzeiling.
Feedbackdashboard
Menu Modules → Maattabellen → Klantfeedback. Boven de tabel toont een samenvatting het aantal antwoorden per categorie over de 5 niveaus. Daaronder staat de volledige lijst met feedback per product, met het klant-ID, de gekochte maat en de datum.
Afwijkingsscore
Voor elk product met minstens 3 reacties wordt een afwijkingsscore berekend:
score = ((te_groot × 2 + wat_groot) − (te_klein × 2 + wat_klein)) / totaal
Een positieve score betekent dat het product stelselmatig groot uitvalt (een maat naar beneden bijstellen). Een negatieve score betekent dat het klein uitvalt (een maat naar boven bijstellen). Een score dicht bij nul wijst op een goede gradatie.
Eigen SEO-pagina
De module biedt een publieke route per categorie: /{slug}/{category-link-rewrite}, waarbij {slug} het ingestelde voorvoegsel is (standaard size-guide).
Voorbeeld: https://uwwinkel.com/size-guide/damesjurken
De pagina bevat een kruimelpad, de h1-titel van de tabel, de inleiding, de meetinstructies en de volledige tabel, de calculator (indien actief), de HTML-voettekst van de tabel, en JSON-LD-opmaak WebPage volgens Schema.org die Google helpt begrijpen dat de pagina een praktische gids is.
De meta title en de meta description komen uit de SEO-velden van de tabel. Stel ze goed in om longtail-zoekopdrachten op te vangen, van het type “maattabel damesjurken”.
Meertaligheid en multistore
De module is meertalig op het niveau van de tabellen (naam, inleiding, instructies, voettekst, meta), op het niveau van de kolomlabels, en op het niveau van de Polylang-labels voor de URL’s.
In multistore is elke toewijzing (tabel naar doel) gescopeerd op id_shop. U kunt dus tabel A tonen voor de categorie “Schoenen” op de Franse winkel, en tabel B voor diezelfde categorie op de Duitse winkel.
Technische structuur
Database
7 tabellen met het voorvoegsel dfsg_: dfsg_guide, dfsg_guide_lang, dfsg_column, dfsg_column_lang, dfsg_row, dfsg_cell, dfsg_assignment en dfsg_feedback. Alle tabellen worden bij het verwijderen netjes gewist.
Gebruikte hooks
actionFrontControllerSetMedia: injectie van CSS en JS aan de frontenddisplayBackOfficeHeader: injectie van CSS en JS in de beheeromgevingdisplayProductExtraContent: tabblad op de productpagina (aanbevolen)displayProductPriceBlock,displayProductActions,displayProductAdditionalInfo,displayReassurance,displayAfterProductThumbs,displayFooterProduct: alternatieve positiesdisplayHeader: injectie van de JSON-LD op de productpagina’sactionValidateOrder: trigger voor eventuele opvolging (v2)moduleRoutes: de eigen SEO-pagina
Veelgestelde vragen
De maattabel verschijnt niet op mijn productpagina, wat nu?
Controleer eerst in Configureren → Posities productpagina of er minstens één positie geactiveerd is (standaard het producttabblad). Rendert uw maatwerkthema de native hooks van PrestaShop niet, activeer dan meerdere posities tegelijk: minstens één van de 7 zou moeten werken. Controleer ook of er minstens één actieve tabel en een standaardtoewijzing bestaan in Maattabellen → Toewijzingen.
Kan ik tabellen importeren vanuit een CSV?
Niet in versie 1.0. Met de visuele editor bouwt u de tabellen ter plekke op. De CSV-import staat gepland voor versie 1.1.
Werkt de calculator zonder JavaScript?
Nee, de calculator is interactief en heeft JavaScript nodig voor het AJAX-verzoek naar de server. De statische tabel verschijnt daarentegen prima zonder JavaScript, wat de toegankelijkheid en de vindbaarheid behoudt.
Is er een risico op dubbele JSON-LD-opmaak?
Nee. De hook displayHeader zendt één enkel JSON-LD-script per productpagina uit, en de eigen SEO-pagina heeft haar eigen aparte WebPage-opmaak. De Schema.org-validator van Google meldt geen enkel dubbel.
Compatibel met de migratie van PrestaShop 8 naar 9?
Ja. De module declareert ps_versions_compliancy van 8.0.0 tot 9.99.99, gebruikt de klassen ObjectModel en HelperForm die in PS 9 ondersteund blijven, en gebruikt geen enkele verouderde API.
Hoe wis ik alle gegevens van de module?
Het verwijderen via het Modulebeheer wist alle tabellen dfsg_* en alle instellingen DFSG_*. Er blijft niets in de database achter.
Support
E-mail: support@datafirefly.com. Antwoord binnen 5 werkdagen in het Frans of het Engels.