Formulario de contacto que cumpla la LOPD en Prestashop 4


Si tienes un eCommerce Prestashop v.1.6 y quieres cumplir con la LOPD, hay varias acciones que vas a tener que realizar.

Dejando de lado el tema de la ley de cookies y de las páginas con los textos legales que obliga a tener la ley, hay dos requisitos que ha de cumplir todo eCommerce. Se trata de que en los formularios de recogida de datos, es decir, en el registro del cliente y en el formulario de contacto, ha de haber una casilla que el cliente ha de marcar conforme «a leído y acepta la política de protección de datos«.

 

Para el caso del formulario de registro, Prestashop ya viene con un módulo incluido, que solo tendremos que instalar, activar y configurar. Se trata del módulo «Bloque de privacidad de datos del cliente» («Customer Privacy«).

Para el formulario de contacto, vamos a usar ese mismo módulo para hacer que aparezca el mensaje en dicho formulario, para ello:

  1. Editaremos el archivo «contact-form.tpl» de nuestro tema, añadiendo el Hook, según se muestra a continuación:
    {$HOOK_CREATE_ACCOUNT_FORM}
    <div class="submit">
    
  2. Ahora necesitamos sobreescribir el hook para mostrar la información y el hook para validar que la casilla esté marcada. Usaremos el mecanismo llamado «override», para sobreescribir estos dos métodos del controlador «ContactController«. El código es el siguiente:
    class ContactController extends ContactControllerCore
    {
    public function initContent()
    {
    $this->context->smarty->assign(array(
    'HOOK_CREATE_ACCOUNT_FORM' => Hook::exec('createAccountForm'),
    'privacy_message' => Configuration::get('CUSTPRIV_MESSAGE', $this->context->language->id)
    ));parent::initContent();
    }
    public function postProcess()
    {
    if (Tools::isSubmit('submitMessage'))
    Hook::exec('actionBeforeSubmitAccount');
    parent::postProcess();
    }
    }
  3. Como precaución, borramos de la caché el fichero «class_index.php», y probamos que al darle a enviar, se muestra el mensaje indicando que es obligatorio la aceptación de la política de privacidad..

 

Con esto ya tendremos resuelta la parte técnica de la LOPD, y también si queremos cumplir con el código ético de Confianza Online.


Dejar un comentario

Para comentar has de leer y aceptar la Política de privacidad.

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.

4 ideas sobre “Formulario de contacto que cumpla la LOPD en Prestashop

  • Yolanda

    Hola! Acabo de probar tu tutorial y es magnífico ver cómo aparece el campo de la política de privacidad, pero tengo un problema con el envio del formulario: se puede enviar sin hacer el check, aparece el aviso de que ha sido enviado con éxito y aunque el mensaje llega al backoffice no llega al correo designado. Si se marca el check llega el mensaje tanto a backoffice como al correo.

    ¿Cuál puede ser el problema? he observado que si se deja el mensaje vacío, no se permite enviar el formulario y en el mensaje de error recuerda también aceptar la política de privacidad, sin embargo escribiendo un mensaje, aunque no hagas el check, aparece el mensaje de enviado con éxito. ¿puedes decirme por qué puede estar ocurriendo esto?

    Gracias

  • Mónica

    Hola,

    he añadido el código mencionado en / override / controllers / front / ContactController.php
    y el {$HOOK_CREATE_ACCOUNT_FORM} en el contact-form.tpl del tema prestashop instalado.
    He borrado el class_index.php y borrado las cookies del navegador pero no me aparece el checkbox.

    Tengo prestashop 1.6

    ¿tienes idea de que puede ser?

  • JP

    Hola, he seguido tu tutorial y ha funcionado a medias porque en lugar de salirme un checkbox me sale un formulario de Programa de apadrinamiento ¿Me podrías ayudar a solucionarlo?