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.
Applica la modale al reparto regolamentato, non a tutto il negozio
Dalla versione 1.1.0, l'ambito di visualizzazione si regola in tre modalità. Tutto il negozio: comportamento storico, la modale appare ovunque. Categorie mirate: spunta le tue categorie in un albero con filtro di ricerca; la modale appare su quelle pagine di categoria e sulle schede dei prodotti che vi appartengono, sottocategorie comprese se l'opzione è attiva. Prodotti mirati: cerca i tuoi prodotti per nome o riferimento; la modale appare solo sulle loro schede. Il caso d'uso tipico: una gastronomia che vende anche distillati, una parafarmacia con un reparto materiale professionale. Il reparto regolamentato è protetto, il resto del negozio resta accessibile senza attrito. La decisione viene presa lato server, non in JavaScript.
Multinegozio e multilingua fin dall'installazione
Tutte le configurazioni (modalità, tipo di verifica, testi, colori, bypass, ambito) 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, conservazione automatica
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). La scheda log mostra le statistiche (totale 30 giorni, ripartizione per motivo, ultimi rifiuti) e la conservazione è automatica: le voci più vecchie della durata configurata (365 giorni per default) vengono eliminate. 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.1.0 enabled=1 scope=all should_display=1». In caso di problemi, leggi direttamente il codice sorgente della pagina: enabled=0 significa toggle non attivato, scope indica l'ambito attivo, should_display=0 significa che un bypass è attivo o che la pagina è fuori dall'ambito mirato. Il pulsante Testa la modale apre il negozio in modalità anteprima (?dfagegate_preview=1): la modale appare anche se il cookie è posato, senza depositarne. Niente più navigazione privata né ricerche nei log.
Ancora non ci sono recensioni.