Tutto quello che vorresti sapere prima di installare.
Uno sguardo dettagliato su come funziona Verifica dell'Età PrestaShop – Modale Bloccante per CBD, Alcol, Vape e Professionisti Sanitari, perché l'abbiamo progettato così, e il ragionamento dietro le funzionalità qui sopra.
Perché un modulo dedicato invece di un popup generico
I popup marketing classici si chiudono con un click, non validano nulla, non posano un cookie di conformità, e non hanno alcuna traccia in database. Per un sito CBD o alcol controllato dalle autorità del consumatore, è una non conformità diretta. Per un rivenditore di materiale medico controllato sull'articolo L5122-9 (e equivalenti italiani), è un rischio sull'autorizzazione alla messa in commercio. dfagegate fa l'opposto: modale realmente bloccante (lock scroll, trap focus), validazione lato server, cookie SameSite/Secure, log con IP hashata. È uno strumento di conformità, non un widget marketing.
La modalità standard: CBD, alcol, vape, armi
Per la maggior parte dei mercati regolati a 18 anni (o 21 in alcuni paesi). Tre tipi di verifica a scelta in base al tuo profilo di rischio: pulsanti Sì/No (veloce, basso attrito, sufficiente per CBD o alcol al grande pubblico), data di nascita completa con calcolo dell'età lato server tramite DateTimeImmutable (impossibile da bypassare tramite DevTools, raccomandato per le armi o i liquidi nicotinati), redirect configurabile in caso di rifiuto verso una pagina terza.
La modalità medica: conformità L5122-9 del Codice della sanità pubblica
L'articolo L5122-9 del Codice francese della sanità pubblica vieta la pubblicità verso il grande pubblico per certi dispositivi medici e li riserva ai professionisti sanitari abilitati. Regole equivalenti si applicano in Italia per i dispositivi medici (D.Lgs. 46/97, Regolamento UE 2017/745). dfagegate materializza la dichiarazione: lista di professioni personalizzabile (medico, farmacista, fisioterapista, dentista, veterinario…), casella di spunta di dichiarazione sull'onore, validazione opzionale del numero RPPS o ADELI tramite regex (9-11 cifre). Il numero non viene mai memorizzato in database — serve solo alla validazione. È lo spirito della conformità minima vitale: una traccia della dichiarazione, senza raccolta eccessiva.
Multinegozio e multilingua fin dall'installazione
Tutte le configurazioni (modalità, tipo di verifica, testi, colori, bypass) sono memorizzate per contesto negozio tramite id_shop_group / id_shop. Puoi avere un negozio CBD a 18 anni in FR e un negozio vape a 21 anni in US nello stesso PrestaShop, ciascuno con i suoi testi e il suo cookie. Gli hook vengono registrati su tutti i negozi al momento dell'installazione tramite Shop::getCompleteListOfShopsID(), evitando la trappola classica del modulo che gira solo sul negozio corrente.
Robustezza lato tema: fallback JS di iniezione
L'hook displayBeforeBodyClosingTag è universale su PrestaShop 1.7.5+, ma molti temi personalizzati lo omettono nel loro layout. dfagegate gestisce questo caso: la modale HTML pre-renderizzata viene passata in JS tramite Media::addJsDef. Al DOMContentLoaded, lo script verifica se l'elemento dfagegate-modal esiste nel DOM. In caso contrario, lo inietta autonomamente tramite insertAdjacentHTML. Funziona su qualsiasi tema, senza toccare il layout. Un messaggio console.info conferma se il fallback si è attivato.
GDPR: cookie strettamente necessario, IP hashata
Il cookie dfagegate_ok rientra nella categoria «strettamente necessario al rispetto di un obbligo legale di accesso» ai sensi dell'articolo 82 della legge Informatique et Libertés (e equivalenti italiani del Codice Privacy) — è esentato dal consenso preventivo, a differenza dei cookie marketing. Il suo valore è binario (1 = confermato), durata configurabile, SameSite=Lax, Secure in HTTPS. I log di rifiuto opzionali memorizzano un'IP hashata SHA-256 (mai in chiaro) per proteggere la privacy permettendo allo stesso tempo la statistica. Compatibile con qualsiasi banner di consenso esistente.
Diagnostica integrata per debug rapido
Una volta attivato, dfagegate aggiunge nel tag head un commento HTML del tipo «dfagegate v1.0.3 enabled=1 should_display=1». In caso di problemi, leggi direttamente il codice sorgente della pagina: enabled=0 significa toggle non attivato, should_display=0 significa che un bypass è attivo (IP, path, o cliente loggato), assenza del commento significa hook non registrato. Non serve più cercare nei log.
Ancora non ci sono recensioni.