Delen

Probleem melden - Klantfeedback op productpagina's, meldingen van kapotte links en verkeerde prijzen met dashboard

Price: € 29,99
Geen btw

Laat klanten melden wanneer een productpagina niet klopt. Een discrete knop Probleem melden opent een venster: de bezoeker kiest het type — kapotte link, verkeerde prijs, ontbrekende informatie of overig — en beschrijft het. Elke melding wordt eerst in uw shop opgeslagen en pas daarna gemaild, dus er gaat niets verloren. U werkt ze af in een back office-dashboard met filters, bulkacties en CSV-export, en laat de melder weten zodra u het hebt opgelost. Geen jQuery, geen overrides. Voor PrestaShop 1.7 tot en met 9.

Delen
Compatibel met:
PS 1.7 PS 8 PS 9
Beschikbaar in:
Nederlands Nederlands Engels Engels Frans Frans Duits Duits Italiaans Italiaans Pools Pools Spaans Spaans Turks Turks

Uw klanten vinden uw kapotte pagina's eerder dan u

Elke catalogus veroudert. Een leverancierslink sterft, een prijs staat er nog uit vorig seizoen, en juist het ene detail dat kopers nodig hebben ontbreekt in een beschrijving. Degenen die dat opmerken zijn uw bezoekers — en als u ze geen manier geeft om het te zeggen, vertrekken ze gewoon.

Deze module zet een discrete knop Probleem melden op elke productpagina. Eén klik opent een venster, de bezoeker schrijft in één zin wat er mis is, en de melding komt binnen in uw back office.

Vier soorten problemen en één zin

De bezoeker kiest tussen kapotte link, verkeerde prijs, ontbrekende informatie en overig — u bepaalt zelf welke van de vier u aanbiedt — en schrijft een korte beschrijving van 10 tot 1000 tekens, met een live teller tijdens het typen.

Naam en e-mailadres zijn optioneel en worden alleen aan gasten getoond; ingelogde klanten worden via hun account herkend. Het e-mailadres dient precies één doel: de melder laten weten dat u het probleem hebt opgelost.

Eerst opgeslagen, dan gemaild — en daar draait alles om

De melding wordt naar uw database geschreven voordat er ook maar een poging tot verzenden wordt gedaan. Heeft uw mailserver een slechte dag, dan staat de melding gewoon in uw lijst. De fout gaat naar uw logboek in plaats van als foutmelding naar de bezoeker.

Deze volgorde is de reden dat versie 4 bestaat. Verderop meer daarover.

Een back office die een echte werkwijze is

Meldingen komen binnen in een lijst die u kunt afwerken. Filter op status, type probleem, categorie, periode en met vrije tekst over bericht, naam en e-mailadres. Selecteer er meerdere en zet ze in één handeling op in behandeling, opgelost, spam — of verwijder ze.

Elke regel klapt open en toont het volledige bericht, het product — met links naar zowel de front office-pagina als de editor —, de melder, tijdstempels, een statuskeuze en een notitieveld voor uw antwoord. Meldingen doorlopen de statussen open, in behandeling, opgelost, duplicaat en spam.

De CSV-export levert u precies wat uw huidige filters opleveren, niet de hele tabel.

Cijfers die laten zien waar de problemen zitten

Een paneel In één oogopslag telt wat er open staat, wat er deze week en deze maand binnenkwam, wat u hebt opgelost en wat spam was — elk getal is aanklikbaar en brengt u direct in een gefilterde lijst. Daarnaast staan uw vijf meest gemelde producten, meestal de snelste route naar de pagina die echt aandacht nodig heeft.

Een widget op de startpagina van het Dashboard toont het aantal wachtende meldingen en verbergt zichzelf volledig wanneer er geen zijn.

Laat de melder weten dat u het hebt opgelost

Zet u een melding op Opgelost, dan stuurt één vinkje een e-mail naar degene die hem indiende. Die wordt alleen verstuurd als er een adres is achtergelaten, en uw notitie gaat mee in het bericht. Het kost niets en het is precies het onderdeel dat klanten onthouden.

Spambescherming die echte mensen niet straft

Een honeypotveld, een minimale invultijd en een HMAC-ondertekend token met beperkte geldigheid staan altijd aan en vragen geen configuratie. Het token is twee uur geldig en is aan het product gebonden, dus het kan niet elders in uw catalogus opnieuw worden gebruikt.

Daarbovenop: een uurlimiet per bezoeker en per product (standaard 1, zet op 0 om uit te schakelen) plus een vast maximum van 10 meldingen per uur per bezoeker. Duplicaatdetectie legt dezelfde melding van dezelfde persoon over hetzelfde product binnen 24 uur weg als Duplicaat in plaats van u twee keer te waarschuwen — ze staan allemaal gewoon in de lijst.

Optionele reCAPTCHA v3 is beschikbaar en staat standaard uit. Het laadt Google-code op uw productpagina's, dus vermeld het in uw privacyverklaring als u het aanzet.

Het IP-adres van de melder wordt nooit opgeslagen

Een snelheidslimiet moet een terugkerende bezoeker herkennen, daarom slaat de module hash_hmac('sha256', $ip, _COOKIE_KEY_) op — een hash met het eigen geheim van uw shop als sleutel — en nooit het adres zelf.

Die sleutel is doorslaggevend. Een SHA-256-hash van een IP-adres zonder sleutel is in minuten terug te rekenen door alle vier miljard IPv4-adressen te hashen; met een geheim dat alleen uw shop kent, lukt dat niet. De testsuite van de module controleert dat expliciet.

Meldingen worden verwijderd zodra hun product wordt verwijderd, en allemaal bij het deïnstalleren. Is de officiële AVG-module psgdpr geïnstalleerd en ingeschakeld, dan wordt het toestemmingsblok daarvan automatisch in het formulier weergegeven.

Versie 4 repareerde een module die sinds 3.1.0 geen enkele melding had afgeleverd

Dit hoort ronduit gezegd te worden, want het is de echte reden om te updaten.

Toen het verzendpunt in 3.1.0 verhuisde naar controllers/front/, verhuisde het pad naar het mailsjabloon ernaast niet mee — het wees naar een map die niet bestaat. Mail::Send() gaf false terug, de module antwoordde met die('0') — en omdat 0 geldige JSON is, parste de front end dat en voerde de succes-afhandeling uit.

Elke shop op 3.1.0 tot en met 3.2.2 gooide klantmeldingen weg en bedankte de melder er ondertussen voor. Vier uitgebrachte versies lang, en er werd niets opgeslagen — er viel dus ook niets te herstellen. Mailpaden worden nu opgelost vanaf _PS_MODULE_DIR_, en opslaan gebeurt vóór het mailen.

Het sloot ook een open mailrelay

Versie 3.x las de ontvanger van de melding uit een verborgen veld in de pagina. Die werd nooit gevalideerd, nooit vergeleken met het eigen adres van de shop, en vervolgens rechtstreeks aan Mail::Send() doorgegeven.

Elke anonieme bezoeker kon uw shop mail laten versturen naar elk adres dat hij wilde, met niet-ge-escapete HTML in de tekst, zo vaak als hij wilde. Ten koste van uw verzendreputatie. De ontvanger komt nu uitsluitend uit de moduleconfiguratie.

De secure_key die dit had moeten voorkomen was md5(_COOKIE_KEY_ . 'reportbrokenlink') — constant zolang de shop bestaat en in elke productpagina afgedrukt. Eenmaal uitgelezen, voor altijd herbruikbaar. Nu is het een HMAC-ondertekend token met beperkte geldigheid, gebonden aan het product.

Bezoekersinvoer wordt bovendien ge-escapet bij het uitvoeren, niet alleen gefilterd bij het binnenkomen. PrestaShop vervangt mailvariabelen met een simpele str_replace en escapet daarbij niets — een niet-ge-escapete tekst zou een melder in staat stellen een phishinglink te plaatsen in een e-mail die echt van uw shop afkomstig is.

De front end verloor jQuery 1.8.2 en elke andere afhankelijkheid

Versie 3.x laadde jQuery 1.8.2 vanaf het CDN van Google op elke productpagina. Dat stuurde het IP-adres van elke bezoeker naar Google nog vóór enige toestemming, bracht een bibliotheek uit 2012 mee met vier gepubliceerde adviezen, en overschreef de eigen jQuery van uw thema voor alles wat daarna draaide.

Dat is allemaal verdwenen. De front end is afhankelijkheidsvrij vanilla JavaScript en CSS — één klein bestand van elk, alleen op productpagina's geregistreerd. Geen jQuery, geen Bootstrap.

Verzenden gebeurt nu via POST. Versie 3.x verstuurde de gegevens via GET — via een optie post: "POST" die in jQuery helemaal niet bestaat, waardoor stilzwijgend de standaard werd gebruikt — waardoor het e-mailadres van elke melder in de toegangslogboeken van uw webserver belandde.

Toegankelijk omdat het zo is gebouwd

Het venster is een echte dialoog: de focus gaat erin, Tab blijft erbinnen gevangen, Escape sluit het, en de focus keert terug naar de knop waar u vandaan kwam. Fouten worden aan schermlezers gemeld, focusranden zijn zichtbaar, prefers-reduced-motion wordt gerespecteerd, en onder 480 px gaat het schermvullend.

Bij openen wordt het bovendien naar <body> verplaatst. Ter plaatse weergegeven zat het binnen het winkelwagen-<form> van het thema — een genest formulier dat de opmaak brak en het verkeerde kon versturen.

Compatibiliteit

PrestaShop 1.7 tot en met 9, PHP 7.2 tot 8.3, in acht talen: Duits, Engels, Frans, Italiaans, Nederlands, Pools, Spaans en Turks. Als Nederlandstalige verkoper werkt u dus in een vertaald back office.

Geen overrides, geen aanpassingen aan core of thema, geen jQuery. Vijf hooks, één databasetabel. Bij deïnstalleren verdwijnen de tabel, elke opgeslagen melding en alle instellingen — exporteer dus eerst naar CSV als u ze wilt bewaren.

Veelgestelde vragen

Hebben mijn klanten een account nodig om iets te melden?

Nee, en het is aan te raden meldingen van gasten toe te laten — gasten zijn meestal degenen die een kapotte pagina opmerken. Wilt u het liever anders, dan beperkt u de knop met één instelling tot ingelogde klanten.

Waar verschijnt de knop?

Op productpagina's, ofwel naast de productinformatie ofwel eronder — displayProductAdditionalInfo (naast de productinformatie) of displayFooterProduct (onderaan de productpagina). Verbergt uw thema de ene, schakel dan in de module-instellingen over op de andere.

Wat gebeurt er als mijn mailserver uitvalt?

Er gaat niets verloren. De melding wordt opgeslagen voordat er een poging tot verzenden wordt gedaan, de fout komt terecht in Geavanceerde instellingen → Logs, en de melding wacht in uw lijst. Dit is het grootste verschil met versie 3.

Worden de IP-adressen van melders opgeslagen?

Nee. De snelheidslimiet gebruikt een SHA-256-hash met het eigen geheim van uw shop als sleutel, nooit het adres zelf. Naam en e-mailadres zijn optioneel en worden alleen verzameld zodat u de melder kunt laten weten dat u het probleem hebt opgelost.

Een bezoeker zegt dat het formulier meldde dat het verlopen was.

Het ondertekende token is twee uur geldig, dus wie een productpagina langer open laat staan, krijgt dit te zien. De pagina herladen lost het op. Tokens zijn aan het product gebonden, en juist dat voorkomt dat ze elders in uw catalogus opnieuw worden gebruikt.

Waarom worden sommige meldingen als Duplicaat gemarkeerd en niet naar mij gemaild?

Duplicaatdetectie staat standaard aan: dezelfde persoon, hetzelfde product, hetzelfde type probleem binnen 24 uur wordt weggelegd als duplicaat in plaats van u twee keer te waarschuwen. Ze staan allemaal gewoon in de lijst — filter op status Duplicaat, of zet de instelling uit.

Kan ik de meldingen uit PrestaShop halen?

Ja. De CSV-export levert precies wat uw huidige filters opleveren. Cellen die beginnen met een teken dat een spreadsheet als formule leest (=, +, -, @, tab of regelterugloop) worden bewust onschadelijk gemaakt, zodat niemand een spreadsheetformule kan binnensmokkelen in een bestand dat u opent.

Heeft het jQuery of Bootstrap nodig?

Geen van beide. De front end is vanilla JavaScript en CSS, één klein bestand van elk, alleen op productpagina's geladen. Onderzoekt u een klik die niets doet, kijk dan in uw browserconsole naar een losstaande fout van een ander programmaonderdeel op de pagina.

Wat gebeurt er met mijn meldingen als ik deïnstalleer?

Ze worden verwijderd, samen met alle instellingen — u wordt eerst om bevestiging gevraagd. Exporteer vooraf naar CSV als u ze later nog nodig zou kunnen hebben.

  • Merk
  • Referentie
    6662
  • ean13
    8691246266620

  • Compatibiliteit
    Prestashop 1.4
    Prestashop 1.5
    Prestashop 1.6
    Prestashop 1.7
    Prestashop 8
    Prestashop 9
  • Beschikbare Module Vertalingen
    Duits
    Engels
    Frans
    Italiaans
    Nederlands
    Pools
    Spaans
    Turks

Compatibiliteit
PS1.7 PS8 PS9
Vertalingen
Nederlands Nederlands
Engels Engels
Frans Frans
Duits Duits
Italiaans Italiaans
Pools Pools
Spaans Spaans
Turks Turks
Demo
Inloggen: demo@demo.com / Demodemo123!
Ontwikkelaar
MEG Venture MEG Venture

Commentaar (1)

(4.0)

4 other products in the same category

Delen
Laden ...

We gebruiken cookies om je de beste winkelervaring te bieden. Door op ‘Accepteren’ te klikken, ga je akkoord met het gebruik ervan zoals beschreven in ons privacybeleid.

Meer informatie
Terug naar boven