Alles, was Sie vor der Installation wissen wollen.
Ein detaillierter Blick darauf, wie Altersverifizierung PrestaShop – Blockierendes Modal für CBD, Alkohol, Vape & Medizin funktioniert, warum wir es so gebaut haben und der Gedanke hinter den Funktionen oben.
Warum ein dediziertes Modul statt eines generischen Popups
Klassische Marketing-Popups schließen sich mit einem Klick, validieren nichts, setzen kein Compliance-Cookie und hinterlassen keine Datenbankspur. Für eine CBD- oder Alkohol-Website, die von Behörden geprüft wird, ist das eine direkte Nichtkonformität. Für einen Medizinprodukte-Händler, der Werbebeschränkungen unterliegt, ist das ein Risiko für die Marktzulassung. dfagegate macht das Gegenteil: wirklich blockierendes Modal (Scroll-Sperre, Fokus-Trap), serverseitige Validierung, SameSite/Secure-Cookie, Protokolle mit gehashteter IP. Es ist ein Compliance-Werkzeug, kein Marketing-Widget.
Standard-Modus: CBD, Alkohol, Vape, Waffen
Für die Mehrheit der regulierten 18+-Märkte (oder 21+ in bestimmten Ländern). Drei Verifizierungstypen zur Wahl je nach Risikoprofil: Ja/Nein-Schaltflächen (schnell, geringe Reibung, ausreichend für CBD oder Mainstream-Alkohol), vollständiges Geburtsdatum mit serverseitiger Altersberechnung via DateTimeImmutable (nicht über DevTools umgehbar, empfohlen für Waffen oder Nikotinflüssigkeiten), konfigurierbare Weiterleitung bei Ablehnung.
Medizin-Modus: Konformität mit HWG und EU-MDR
HWG §11 und EU-MDR Artikel 7 beschränken die Werbung für bestimmte Medizinprodukte auf zugelassene Fachkräfte im Gesundheitswesen. dfagegate materialisiert die Erklärung: anpassbare Berufsliste (Ärzte, Apotheker, Physiotherapeuten, Zahnärzte, Tierärzte…), Checkbox für Erklärung auf Ehrenwort, optionale Validierung der Arztnummer per Regex (9 bis 11 Ziffern). Die Nummer wird nie gespeichert — nur zur Validierung verwendet.
Nur die regulierte Abteilung, nicht der ganze Shop
Seit Version 1.1.0 lässt sich der Anzeigebereich in drei Modi einstellen. Gesamter Shop: bisheriges Verhalten, das Modal erscheint überall. Ausgewählte Kategorien: Haken Sie Ihre Kategorien in einem Baum mit Suchfilter an; das Modal erscheint auf diesen Kategorieseiten und auf den Produktseiten der zugehörigen Produkte, Unterkategorien inklusive bei aktivierter Option. Ausgewählte Produkte: Suchen Sie Ihre Produkte nach Name oder Referenz; das Modal erscheint nur auf deren Seiten. Der typische Anwendungsfall: ein Feinkostgeschäft, das auch Spirituosen verkauft, eine Online-Apotheke mit einer Profi-Abteilung. Die regulierte Abteilung ist geschützt, der Rest des Shops bleibt ohne Reibung zugänglich. Die Entscheidung fällt serverseitig, nicht in JavaScript.
Multi-Shop und mehrsprachig ab Installation
Alle Konfigurationen (Modus, Verifizierungstyp, Texte, Farben, Bypass, Anzeigebereich) werden pro Shop-Kontext über id_shop_group / id_shop gespeichert. Sie können einen CBD-Shop bei 18+ auf Deutsch und einen Vape-Shop bei 21+ für einen anderen Markt im selben PrestaShop haben, jeder mit eigenen Texten und Cookie. Hooks werden bei der Installation über Shop::getCompleteListOfShopsID() auf allen Shops registriert.
Theme-Robustheit: JS-Injektions-Fallback
Der Hook displayBeforeBodyClosingTag sollte auf PrestaShop 1.7.5+ universell sein, aber viele Custom-Themes lassen ihn in ihrem Layout weg. dfagegate behandelt diesen Fall: das vorgerenderte HTML-Modal wird über Media::addJsDef an JS übergeben. Beim DOMContentLoaded prüft das Skript, ob das Element dfagegate-modal im DOM vorhanden ist. Falls nicht, injiziert es sich selbst über insertAdjacentHTML. Funktioniert auf jedem Theme ohne Layout-Änderungen.
DSGVO: unbedingt notwendiges Cookie, gehashte IP, automatische Aufbewahrung
Das Cookie dfagegate_ok gehört zur Kategorie unbedingt notwendig für die Erfüllung einer gesetzlichen Zugangspflicht — von vorheriger Einwilligung gemäß DSGVO befreit, anders als Marketing-Cookies. Sein Wert ist binär (1 = bestätigt), konfigurierbare Dauer, SameSite=Lax, Secure über HTTPS. Optionale Ablehnungsprotokolle speichern eine SHA-256-gehashte IP (niemals im Klartext). Der Log-Reiter zeigt Statistiken (30-Tage-Gesamt, Aufschlüsselung nach Grund, letzte Ablehnungen) und die Aufbewahrung ist automatisch: Einträge, die älter als die konfigurierte Dauer sind (standardmäßig 365 Tage), werden gelöscht. Kompatibel mit jedem bestehenden Consent-Banner.
Integrierte Diagnose für schnelles Debugging
Nach der Aktivierung fügt dfagegate einen HTML-Kommentar im Head-Tag des Typs 'dfagegate v1.1.0 enabled=1 scope=all should_display=1' ein. Bei einem Problem lesen Sie es direkt im Quellcode der Seite: enabled=0 bedeutet Toggle deaktiviert, scope zeigt den aktiven Anzeigebereich, should_display=0 bedeutet ein Bypass ist aktiv oder die Seite liegt außerhalb des gewählten Bereichs. Der Button Modal testen öffnet den Shop im Vorschau-Modus (?dfagegate_preview=1): das Modal erscheint auch bei gesetztem Cookie, ohne eines abzulegen. Kein privates Browsing und kein Log-Durchsuchen mehr.
Es gibt noch keine Rezensionen.