Formulario de contacto que cumpla la LOPD en Prestashop

Cogido de: http://felicianoborrego.com/formulario-de-contacto-cumpla-la-lopd-en-prestashop/

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“).

1- Para el formulario de contacto, vamos a usar ese mismo módulo para hacer que aparezca el mensaje en dicho formulario, para ello insertamos el hook, la linea submit no hay que tocarla:

Editamos el archivo /themes/default-bootstrap/contact-form.tpl

{$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:

Tenemos que crear unas carpetas y dentro un archivo en /override/controllers/front/ContactController.php con el siguiente texto:

<?php
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..