Control de acceso para mayores de 18 años en tu tienda prestashop.

Hola, si tienes una tienda prestashop que venda material para adultos, debes avisar y controlar por ley que tus clientes sean mayores de 18 años. Y no me refiero solo a material de carácter pornográfico, si vendes alcohol o tabaco también estás obligado a tener un Control de acceso para mayores de 18 años.

Hay dos formas de controlar esto, a través de algún plugin que pregunte al entrar si eres mayor de edad y si dices que no te expulse o avisando en las condiciones de compra y controlando en el registro que la fecha de nacimiento te permita comprar.

Yo opto por la segunda opción en nuestra tienda de vino online reservatuvino.es. principalmente porque me parece que es bastante molesto para los clientes cada vez que entran dar al botoncito de SOY MAYOR DE EDAD y es un control de risa.

Os explico a continuación cómo implementar este control sin tener que instalar o configurar ningún plugin, o sea GRATIS.

Para empezar debeis avisar que vuestra tienda vende contenido para adultos, esto lo hacemos primero en nuestro aviso legal y/o en condicionaes de compra, ya sabeis, en PREFERENCIAS->CMS editando el CMS y poniendo algo así como;

«POR FAVOR LEE ATENTAMENTE ESTE ACUERDO DE CONDICIONES DE USO. AL ACCEDER O UTILIZAR ESTE SITIO WEB O ADQUIRIR PRODUCTOS, ACEPTAS LOS TÉRMINOS Y CONDICIONES DESCRITOS AQUÍ Y TODOS LOS TÉRMINOS INCORPORADOS POR REFERENCIA. SI NO ACEPTAS TODOS LAS CONDICIONES, NO UTILICES ESTE SITIO WEB.

Dado que los contenidos y servicios del Sitio Web versan sobre bebidas alcohólicas, el acceso a reservatuvino.es sólo está permitido a mayores de edad. Por favor, si eres menor abandona inmediatamente el Sitio Web.»

Si usáis un plugin para avisar de las cookies (yo uso este que es gratis y funciona de miedo European union cookie law) además de ponerlo en los avisos legales podéis avisarlo en el banner con un texto como;

«Dado que los contenidos y servicios del Sitio Web versan sobre bebidas alcohólicas, el acceso a RESERVA TU VINO sólo está permitido a mayores de edad. Por favor, si eres menor abandona inmediatamente el Sitio Web.»

Bueno, ya está todo el mundo advertido. Solo nos falta controlar que la gente que se registra es mayor de edad, para esto tenemos que tocar un par de ficheros de nuestro prestashop, no os preocupeis, es facilito.

Nos conectamos por FTP a nuestro hosting y vamos a la carpeta /classes ahí encontraremos un archivo que se llama Validate.php. Lo editamos y buscamos esto: «function isBirthDate». Estará sobre la línea 500 o por ahí (os hablo de la versión 1.6 en adelante). Bien, ya tenemos la función localizada así que la comentamos (poniendo /* al principio y */ al final de la función) y la sustituimos por esta:

public static function isBirthDate($date)
{
if (empty($date) || $date == ‘0000-00-00’)
return false;
if (preg_match(‘/^([0-9]{4})-((?:0?[1-9])|(?:1[0-2]))-((?:0?[1-9])|(?:[1-2][0-9])|(?:3[01]))([0-9]{2}:[0-9]{2}:[0-9]{2})?$/’, $date, $birth_date))
{
if ((floor((time() – strtotime($date))/31556926))<18)
return false;
if ($birth_date[1] > date(‘Y’) && $birth_date[2] > date(‘m’) && $birth_date[3] > date(‘d’))
return false;
return true;
}
return false;
}

Con esto controlamos la fecha de nacimiento de forma que dará un error si el menor de 18 años. El error que sale por defecto en prestashop es «Fecha de nacimiento inválida», deberíamos poner algo más concreto para nuestros clientes ¿no?.

Para hacerlo volvemos a nuestro FTP y vamos a la carpeta /translations y editamos el archivo errors.php. Aquí buscamos «nacimiento» y donde ponga «Fecha de nacimiento inválida» ponemos «Fecha de nacimiento inválida – debe ser mayor de edad para comprar en nuestra tienda».

«Con esto y un bizcocho» … solucionado 🙂

Ver tambien

Llegar a tus clientes por el corazón, mapas de empatía.

Es mas viejo que la cuchara de palo, la mejor forma de mantener a tus …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.