Slim Live Search: volledige gids
DFLiveSearch installeren, configureren en benutten: live zoeken, suggesties, synoniemen, tolerantie voor tikfouten, relevantie, statistieken en waarschuwingen voor PrestaShop 8 en 9.
Overzicht en vereisten
DFLiveSearch vervangt de native zoekfunctie van PrestaShop door een live AJAX-motor: er opent een resultatenpaneel vanaf de eerste tekens, met de afbeelding, het merk, de naam, de prijs en de promotiebadges van elk product. De module voegt ook een slimme zoekmotor toe (merk, synoniemen, tolerantie voor tikfouten, gewogen relevantie), carrousels met suggesties (populaire zoekopdrachten en aanbevolen producten), een volledig analysedashboard en e-mailwaarschuwingen bij zoekopdrachten zonder resultaat.
- Geschikt voor PrestaShop 8.0 tot 9.x, het Classic-thema en afgeleiden, en het Warehouse-thema (iqit).
- PHP 8.1 en hoger.
- Multistore en meertalig (FR/EN/ES/DE/IT/PT).
- Geen enkele bestandsoverride: uitsluitend native hooks.
De module steunt op de hooks displayHeader, displayTop, displaySearch, displayBackOfficeHeader en actionOrderStatusPostUpdate. Hij maakt zes tabellen aan: dflivesearch_stats, dflivesearch_log, dflivesearch_alerts, dflivesearch_popular, dflivesearch_synonyms en dflivesearch_lexicon.
Installatie
Installeer de module zoals elke andere PrestaShop-module:
- Download het archief
dflivesearch.zipvanuit uw klantaccount. - Ga in de backoffice naar Modules > Modulebeheer.
- Klik op Een module installeren en plaats het archief.
- Klik na de installatie op Configureren.
Bij de installatie registreert de module zijn hooks, maakt hij zijn tabellen aan en vult hij alvast een tijdelijke aanduiding (placeholder) in, vertaald in de zes talen. Er staan ook enkele gangbare synoniemgroepen klaar, en het correctiewoordenboek wordt uit uw catalogus opgebouwd. Het live zoekveld is meteen actief op uw winkel.
Bijwerken
Het bijwerken verloopt gewoon via het Modulebeheer. Het ingebouwde upgradescript maakt de nieuwe tabellen aan, past de standaardwaarden van de nieuwe opties toe (synoniemen, relevantie, tolerantie voor tikfouten, zoeken in het merk, uitzicht van de balk) zonder uw bestaande configuratie aan te raken, en bouwt daarna het correctiewoordenboek opnieuw op. U hoeft niets handmatig te doen. Leeg na de update de PrestaShop-cache en bouw de assets opnieuw op om de oude JavaScript te wissen.
Denk er na een grote catalogusimport aan om het correctiewoordenboek opnieuw op te bouwen (zie het onderdeel « Slim zoeken »), zodat de foutcorrectie uw actuele catalogus weerspiegelt.
Algemene configuratie
De configuratiepagina bundelt de instellingen voor het gedrag van de zoekfunctie:
- De module inschakelen: schakelt het live zoekveld op de winkel in of uit.
- Tijdelijke aanduiding (placeholder): de tekst in het veld, per taal te vertalen.
- Minimaal aantal tekens: de drempel waarop het zoeken start (standaard 2).
- Maximaal aantal producten: de grens aan resultaten in het paneel.
- De prijzen tonen en de kortingen tonen: bepalen of de prijs en de promotiebadge op de resultaatkaarten staan. De regels van PrestaShop gelden altijd bovenop die instellingen (zie « Weergave van de prijzen » hieronder).
- Populaire zoekopdrachten en recente zoekopdrachten: de weergave van de suggestiecarrousels vóór het typen.
- Automatische aanvulling: suggesties van termen (producten, categorieën, merken, populaire zoekopdrachten) tijdens het typen, met toetsenbordnavigatie (pijltjes omhoog en omlaag, Enter, Escape) en het markeren van de ingetypte term. Het maximale aantal suggesties is instelbaar.
- Snel toevoegen aan de winkelwagen en aantalkiezer: opties om een product rechtstreeks vanuit de resultaten toe te voegen.
- Persoonlijke producten: houdt bij de automatische aanbevelingen rekening met de historiek van de ingelogde klant.
Uitzicht
In het onderdeel Uitzicht stemt u de zoekfunctie op uw huisstijl af:
- Hoofdkleur: de kleur van de knoppen en accenten (standaard
#2196F3). - Hoofdkleur bij zweven: de kleur wanneer u over de knoppen zweeft (standaard
#1976D2). - Maximale breedte van het venster: de maximale breedte van het zoekpaneel. Aanvaardt een CSS-waarde als
900px,1200pxof100%. - Grootte van de zoekbalk (sinds versie 1.4.0): Small, Medium of Large. Past de hoogte, de tekstgrootte en de pictogramgrootte aan van de balk in uw kop.
- Breedte van de zoekbalk: de maximale breedte van de balk zelf (
400px,50%,30remen dergelijke). Laat het veld leeg om de volle breedte van de container van het thema in te nemen. - Afronding van de hoeken van de balk: van
0(rechte hoeken) tot50px (pilvorm). - Sneltoets: opent de zoekfunctie met
Ctrl+K(Cmd+Kop een Mac) of met de toets/, waar u zich ook op de pagina bevindt. Op desktop verschijnt er een badge in de balk (« Ctrl K » of « ⌘K »). De optie is uit te schakelen.
Die waarden worden als CSS aan de frontzijde geïnjecteerd. Wilt u een pilvormige balk in de stijl van Algolia, kies dan een afronding van 50 en de grootte Large. Wilt u een venster over de volle breedte, op mobiel én op desktop, vul dan 100% in bij de vensterbreedte.
Sinds versie 1.4.0 is het zoekvenster volledig met het toetsenbord te bedienen: de balk kan de focus krijgen en opent met Enter of de spatiebalk, de focus blijft tijdens het tabben binnen het venster, en Escape sluit het venster waarna de focus naar de balk terugkeert. Zodra er tekst staat, verschijnt er een wisknop in het veld, en de animaties respecteren de systeemvoorkeur prefers-reduced-motion.
Compatibiliteit met thema’s en eigen openingsknoppen
Sinds versie 1.5.0 wordt het zoekvenster bij het laden van de pagina van de kop losgekoppeld: het werkt ook wanneer het thema zijn container verbergt (een desktopkop die op mobiel verdwijnt) of die sticky maakt. Er zijn drie manieren om de zoekfunctie te openen:
- De zoekbalk van de module, die via de hooks
displayTopofdisplaySearchwordt geplaatst. - Elk element van uw thema met de klasse
dflivesearch-triggerof het attribuutdata-dflivesearch-trigger: de module koppelt daar automatisch het openen van de zoekfunctie aan (met klik en toetsenbord, en met de ARIA-attributen). - De native zoekknoppen van het Warehouse-thema (iqit): het vergrootglas van de mobiele kop (
#mobile-btn-search) en dat van de desktopkop (#iqit-search-btn) openen rechtstreeks de module, in plaats van het uitklapmenu van iqitsearch. Er is geen enkele aanpassing aan een template nodig.
Wilt u de zoekfunctie in een ander thema integreren zonder de balk van de module te tonen, voeg dan gewoon data-dflivesearch-trigger toe aan de bestaande vergrootglasknop in uw kop.
Aanbevolen producten
De aanbevolen producten verschijnen als carrousel zodra het zoekveld wordt geopend. Met de instelling Bron van de aanbevolen producten kiest u tussen twee modi:
- Automatisch: de module kiest de bestsellers (en houdt rekening met de klanthistoriek als de optie « Persoonlijke producten » aanstaat).
- Handmatig: u kiest precies welke producten in de kijker staan.
In de handmatige modus verschijnt een eigen kiezer: zoek een product op naam of referentie, klik om het toe te voegen, en herschik de miniaturen daarna met slepen en neerzetten. De volgorde die u bepaalt, wordt aan winkelzijde gerespecteerd.
Alleen actieve en zichtbare producten verschijnen in de kiezer. De volgorde van de miniaturen bepaalt de volgorde in de carrousel.
Gedrag van de zoekfunctie
Zoeken op woorden
De zoekfunctie werkt op woorden: elk ingetypt woord moet worden gevonden (in de naam, het merk, de referentie, de EAN-code of de korte beschrijving), in welke volgorde ook. Een zoekopdracht als « stethoscoop enkelvoudige borststuk » vindt het product dus ook als die woorden niet na elkaar in de naam staan. Sinds versie 1.2.0 wordt elk woord ook tot zijn synoniemen uitgebreid en dekt de zoekfunctie de referenties van varianten (zie het onderdeel « Slim zoeken »).
Producten met varianten
Bij een product met varianten wordt de knop om aan de winkelwagen toe te voegen vervangen door een knop « De opties bekijken », die naar de productfiche leidt, zodat de klant zijn variant kiest vóór hij toevoegt. Heeft de klant de exacte referentie van een variant gezocht, dan leidt die knop rechtstreeks naar de betrokken variant.
Beschikbaarheid en voorraad
Uitverkochte producten blijven in de resultaten staan en krijgen een badge « Uitverkocht ». Die badge verschijnt niet bij producten waarvoor bestellen bij uitverkocht is toegestaan (de instelling « Bestellingen aanvaarden » van PrestaShop): die blijven wel toe te voegen aan de winkelwagen.
Voert u een hoeveelheid in die groter is dan de beschikbare voorraad van een product dat niet bij uitverkocht besteld kan worden, dan voegt de module het product niet toe en meldt hij hoeveel er nog rest.
Weergave van de prijzen
Sinds versie 1.5.0 past de module de weergaveregels voor prijzen van PrestaShop toe, boven op zijn eigen instelling « De prijzen tonen »:
- Catalogusmodus (Voorkeuren > Producten): er verschijnt geen prijs en geen winkelwagenknop in de resultaten.
- Klantgroepen: staat bij de groep van de bezoeker de optie « De prijzen tonen » uit (in B2B gebruikelijk voor bezoekers die niet zijn ingelogd), dan blijven de prijzen verborgen.
- Productoptie: bij een product waarvan « De prijs tonen » op de fiche is uitgevinkt, verschijnt geen prijs en geen korting.
In al die gevallen verdwijnt ook de knop om aan de winkelwagen toe te voegen en weigert de server het toevoegen: de klant gaat naar de productfiche. De instelling « De kortingen tonen » verbergt de doorgestreepte prijs en de kortingsbadge zonder de huidige prijs aan te raken.
Slim zoeken: merk, synoniemen, tikfouten en relevantie
Sinds versie 1.2.0 bevat DFLiveSearch een slimme zoekmotor. Al die instellingen staan in het onderdeel Slim zoeken van de configuratiepagina.
Zoeken in het merk
Sinds versie 1.5.0 bevraagt de optie « Zoeken in de merknaam » (standaard aan) ook de fabrikant van het product. Een zoekopdracht als « Littmann stethoscoop » vindt het juiste product, ook als het merk niet in de naam staat: elk woord wordt gezocht in de naam, de korte beschrijving, de codes en het merk. Het merk verschijnt op de resultaatkaarten, boven de productnaam, en de merknamen worden in de automatische aanvulling voorgesteld. Een exacte overeenkomst op het merk krijgt een betere plaats dan een gedeeltelijke overeenkomst op de naam.
Het merk dat meetelt, is de fabrikant die aan het product hangt (Catalogus > Merken en leveranciers). Vul dat veld op uw productfiches in in plaats van het merk in de productnaam te herhalen.
Synoniemen
Het synoniemenwoordenboek verbindt gelijkwaardige termen: wie « tv » zoekt, vindt ook de producten die « televisie » of « televisietoestel » heten. De editor is meertalig (één tabblad per taal). Voer één groep per regel in, met de termen door komma’s gescheiden:
tv, televisie, televisietoestel, tele
computer, pc, laptop
koptelefoon, oortjes, headphones
Alle termen op dezelfde regel gelden als gelijkwaardig: naar een ervan zoeken breidt de zoekopdracht automatisch tot de andere uit. Schakel de functie in of uit met de optie Synoniemen inschakelen. Er staan bij de installatie enkele gangbare groepen klaar; stem die op uw catalogus af.
De synoniemen worden per winkel en per taal bewaard. Denk eraan elk taaltabblad in te vullen om uw hele klantenbestand te dekken.
Tolerantie voor tikfouten
Levert een zoekopdracht niets op, dan probeert de module de fout automatisch te verbeteren aan de hand van een woordenboek dat uit uw catalogus is opgebouwd (productnamen, referenties, merken, categorieën). Levert de correctie wel resultaten op, dan verschijnen die meteen met de vermelding « Resultaten voor… » en een link om naar de oorspronkelijke spelling terug te keren.
- Tolerantie voor tikfouten: schakelt de automatische correctie in of uit.
- Maximale correctieafstand: het maximale aantal verschillende tekens dat wordt getolereerd (1 tot 3; 2 is aan te raden). Een hogere waarde verbetert meer fouten maar verhoogt het risico op valse treffers.
- « Bedoelde u? » tonen: toont de correctiebalk. Staat die uit, dan wordt de correctie stil toegepast.
De correctie berust op een fonetische voorselectie (SOUNDEX) gevolgd door een berekening van de levenshteinafstand: zo vindt zij bijvoorbeeld « televisietoestel » uit « televisietostel ». Woorden van minder dan drie tekens worden niet verbeterd; korte gelijkstellingen (zoals « tv ») horen bij de synoniemen.
Correctiewoordenboek
Het correctiewoordenboek (de tabel dflivesearch_lexicon) wordt bij de installatie opgebouwd en kan daarna op elk moment opnieuw worden opgebouwd met de knop Het woordenboek opnieuw opbouwen op de configuratiepagina. Het informatievak toont hoeveel woorden er geïndexeerd zijn en wanneer het woordenboek voor het laatst is opgebouwd. Sinds versie 1.5.0 worden ook de merknamen geïndexeerd, naast de productnamen, de referenties en de categorieën.
Bouw het woordenboek opnieuw op na een grote catalogusimport of een massale wijziging van productnamen, zodat de foutcorrectie uw actuele catalogus weerspiegelt. U kunt dat opnieuw opbouwen ook met een geplande taak automatiseren.
Relevantie van de resultaten
De resultaten worden gerangschikt met een gewogen relevantiescore: een exacte overeenkomst van de naam (de hoogste score), een naam die met de zoekopdracht begint, een exact merk, de zoekopdracht die in de naam voorkomt, een gedeeltelijk merk, en daarna de referentie en de EAN. Twee boosts vullen die rangschikking aan:
- Boost voor producten op voorraad: bij vergelijkbare relevantie komen beschikbare producten boven aan de lijst.
- Boost voor bestsellers: bevoordeelt de meest verkochte producten, op basis van de verkoopstatistieken van PrestaShop.
Beide opties zijn onafhankelijk in te schakelen in het onderdeel Slim zoeken.
Zoeken op de referentie van een variant
De zoekfunctie dekt de identificaties die eigen zijn aan varianten: de referentie, de EAN, de UPC en de leveranciersreferentie van elke variant. De referentie of de streepjescode van een variant intypen brengt dus het bovenliggende product boven. Lijkt de zoekopdracht op een code, dan wijst het resultaat rechtstreeks naar de juiste variant (met een link naar precies die variant) en toont de kaart de referentie en de prijs van die variant.
Puur alfabetische referenties (zonder cijfer) blijven vindbaar maar openen de fiche op de standaardvariant. Referenties met cijfers (EAN, de meeste SKU’s) leveren wel de rechtstreekse link naar de exacte variant op.
Dashboard en statistieken
De module legt elke zoekopdracht vast (de ingetypte term, het aantal resultaten, een eventuele klik op een product, de omzetting in een bestelling). Het dashboard in de backoffice toont:
- het totale aantal zoekopdrachten en het aantal unieke zoekopdrachten;
- de slaag-, klik- en conversiepercentages;
- een grafiek met het verloop van de zoekopdrachten per dag;
- de top 20 van de zoekopdrachten met kliks en conversies;
- de top 20 van de zoekopdrachten zonder resultaat;
- een CSV-export van alle gegevens.
De conversieopvolging verloopt via de hook actionOrderStatusPostUpdate: een bestelling die na een klik in de zoekresultaten wordt geplaatst, telt als geconverteerd. Sinds versie 1.3.0 telt elke bestelling maar één keer mee, ongeacht latere statuswijzigingen.
E-mailwaarschuwingen
Het waarschuwingssysteem houdt de termen in de gaten die niets opleveren. Zodra een term de instelbare drempel overschrijdt (standaard 5), gaat er een e-mail naar het adres van uw keuze en verschijnt er een melding in de kop van de backoffice. Elke waarschuwing kan als gelezen worden gemarkeerd of worden verwijderd. De e-mailsjablonen zitten er in de zes talen bij (FR/EN/ES/DE/IT/PT) en het onderwerp gaat mee in de standaardtaal van de winkel. Die zoekopdrachten zonder resultaat zijn een waardevolle bron om gaten in de catalogus, veelvoorkomende tikfouten of ontbrekende synoniemen op te sporen.
Bewaartermijn van de gegevens
De zoeklogs blijven standaard 90 dagen bewaard (instelbaar). In de backoffice staat een knop om handmatig op te ruimen, en sinds versie 1.3.0 loopt er doorlopend een automatische opruiming volgens de ingestelde bewaartermijn.
FAQ en probleemoplossing
Zoeken op « merk plus product » levert niets op
Controleer of de optie « Zoeken in de merknaam » (onderdeel Slim zoeken) aanstaat, die sinds versie 1.5.0 beschikbaar is, en of de fabrikant wel op de productfiche is ingevuld. Leeg na de update de cache en bouw de assets opnieuw op.
Er verschijnen prijzen die verborgen zouden moeten blijven
Het respecteren van de catalogusmodus, van klantgroepen zonder prijzen en van de productoptie « De prijs tonen » is beschikbaar sinds versie 1.5.0. Werk de module bij, leeg de PrestaShop-cache en bouw de assets opnieuw op. Controleer ook of de optie « De prijzen tonen » van de module overeenkomt met wat u verwacht.
De zoekfunctie opent niet op mobiel (Warehouse-thema)
Werk bij naar versie 1.5.0: het zoekvenster staat nu los van de kop en het vergrootglas van de mobiele kop van Warehouse opent rechtstreeks de module. Leeg de PrestaShop-cache, bouw de assets opnieuw op en leeg de browsercache (de CCC-samenvoeging van het thema kan nog oude JavaScript uitleveren). Had u een template van het thema aangepast om er een openingsknop in te zetten, dan blijft die aanpassing werken.
Hoe stel ik de synoniemen in?
Voer in het onderdeel « Slim zoeken » van de configuratie één synoniemgroep per regel in (met de termen door komma’s gescheiden) in het tabblad van elke taal, en sla op. Controleer of de optie « Synoniemen inschakelen » actief is.
Hoe wijzig ik de grootte of de vorm van de zoekbalk?
Kies in het onderdeel « Uitzicht » de grootte (Small, Medium of Large), de maximale breedte en de afronding van de hoeken van de balk. Een afronding van 50 geeft een pilvormige balk. Die instellingen slaan alleen op de balk in de kop; het resultatenvenster stelt u in via « Maximale breedte van het venster ».
Hoe schakel ik de sneltoets Ctrl+K uit?
Zet in het onderdeel « Uitzicht » de optie « Sneltoets » op Nee. De badge verdwijnt uit de balk en de toetsen Ctrl+K, Cmd+K en / openen de zoekfunctie niet meer.
Een zoekopdracht met een fout geeft een lege pagina
Controleer of de optie « Tolerantie voor tikfouten » aanstaat en of het correctiewoordenboek woorden bevat (het informatievak van de configuratie). Klik na een grote import op « Het woordenboek opnieuw opbouwen ». U kunt ook de « Maximale correctieafstand » verhogen.
De zoekfunctie vindt een variantreferentie niet
Het zoeken op variantreferentie (referentie, EAN, UPC, leveranciersreferentie) is beschikbaar sinds versie 1.2.0. Werk bij, leeg de cache en bouw de assets opnieuw op. Voor de rechtstreekse link naar de exacte variant moet de zoekopdracht op een code lijken (minstens één cijfer bevatten).
De zoekfunctie geeft niets terug bij meerdere woorden
De zoekfunctie werkt met woorden, los van de volgorde. Hebt u net bijgewerkt, leeg dan de PrestaShop-cache en bouw de assets opnieuw op om de nieuwe JavaScript te laden.
Het paneel met de automatische aanvulling bedekt de resultaten
De automatische aanvulling sluit vanzelf wanneer het veld de focus verliest, of met de Escape-toets. Gebruik de recentste versie en leeg de cache als het oude gedrag blijft.
Er staat een badge « uitverkocht » op een product dat wel bestelbaar is
De module leest de instelling « Bestellingen aanvaarden » onder Hoeveelheden op de productfiche (op PrestaShop 8 aan de kant van StockAvailable bewaard). Controleer die instelling: staat bestellen toe, dan verschijnt er geen badge.
Wat gebeurt er bij het verwijderen?
Het verwijderen wist netjes de hooks, de configuratievariabelen en de zes tabellen van de module. Er blijven geen restgegevens in de database achter.