Todo lo que querrías saber antes de instalar.
Una mirada detallada a cómo funciona Verificación de Edad PrestaShop – Modal Bloqueante para CBD, Alcohol, Vape y Médico, por qué lo construimos así y la lógica detrás de las características anteriores.
Por qué un módulo dedicado y no un popup genérico
Los popups de marketing clásicos se cierran con un clic, no validan nada, no establecen ninguna cookie de cumplimiento y no dejan ningún rastro en la base de datos. Para un sitio de CBD o alcohol inspeccionado por los reguladores, eso es un incumplimiento directo. Para un revendedor de material médico sujeto a restricciones publicitarias, es un riesgo para la autorización de comercialización. dfagegate hace lo contrario: modal realmente bloqueante (bloqueo de desplazamiento, trampa de enfoque), validación en el servidor, cookie SameSite/Secure, registros con IP hasheada. Es una herramienta de cumplimiento, no un widget de marketing.
Modo estándar: CBD, alcohol, vape, armamentística
Para la mayoría de los mercados regulados para mayores de 18 años (o 21 en ciertos países). Tres tipos de verificación a elegir según tu perfil de riesgo: botones Sí/No (rápido, poca fricción, suficiente para CBD o alcohol para el gran público), fecha de nacimiento completa con cálculo de edad en el servidor mediante DateTimeImmutable (imposible de bypasear mediante las DevTools, recomendado para armamentística o líquidos con nicotina), redireccionamiento configurable en caso de rechazo.
Modo médico: cumplimiento de la normativa sobre publicidad de productos sanitarios
El EU MDR Artículo 7 y las transposiciones nacionales (Real Decreto 1591/2009 en España) restringen la publicidad de determinados productos sanitarios a los profesionales de la salud autorizados. dfagegate materializa la declaración: lista de profesiones personalizable (médico, farmacéutico, fisioterapeuta, dentista, veterinario…), casilla de declaración de honor, validación opcional del número de colegiado mediante regex (9 a 11 dígitos). El número nunca se almacena, solo se usa para la validación.
Multitenda y multilingüe desde la instalación
Todas las configuraciones se almacenan por contexto de tienda mediante id_shop_group / id_shop. Puedes tener una tienda de CBD a 18+ en español y una tienda de vape a 21+ en otro país en el mismo PrestaShop, cada una con sus propios textos y cookie. Los hooks se registran en todas las tiendas al instalar mediante Shop::getCompleteListOfShopsID(), evitando la trampa clásica del módulo que solo funciona en la tienda actual.
Robustez con los temas: fallback de inyección JS
El hook displayBeforeBodyClosingTag debería ser universal en PrestaShop 1.7.5+, pero muchos temas personalizados lo omiten en su layout. dfagegate gestiona este caso: el modal HTML pre-renderizado se pasa a JS mediante Media::addJsDef. En el DOMContentLoaded, el script comprueba si el elemento dfagegate-modal existe en el DOM. Si no, lo inyecta él mismo mediante insertAdjacentHTML. Funciona en cualquier tema sin tocar el layout.
RGPD: cookie estrictamente necesaria, IP hasheada
La cookie dfagegate_ok entra en la categoría de estrictamente necesaria para el cumplimiento de una obligación legal de acceso, exenta de consentimiento previo conforme al RGPD, a diferencia de las cookies de marketing. Su valor es binario (1 = confirmado), duración configurable, SameSite=Lax, Secure en HTTPS. Los registros de rechazo opcionales almacenan una IP hasheada SHA-256 (nunca en texto claro). Compatible con cualquier banner de consentimiento existente.
Diagnóstico integrado para una depuración rápida
Una vez activado, dfagegate añade un comentario HTML en la etiqueta head del tipo 'dfagegate v1.0.3 enabled=1 should_display=1'. Si hay un problema, lo lees directamente en el código fuente de la página: enabled=0 significa que el interruptor está desactivado, should_display=0 significa que hay un bypass activo, ausencia del comentario significa que el hook no está registrado.
No hay valoraciones aún.