Para que nuestro formulario de contacto cumpla con la LOPD (Ley Orgánica de Protección de Datos) el usuario tiene que aceptar explícitamente que ha leído y acepta los términos y condiciones citados en la política de privacidad de la página web. Para ello, necesitamos incluir un check box al final del formulario con el texto de “He leído y acepto los términos y condiciones y la política de Privacidad” o algo similar.
Si el usuario no ha seleccionado este check box, no se le debe permitir enviar el mensaje y se le debe mostrar un aviso indicándole que debe aceptar las condiciones.
Además, con nuestra solución podrá acceder a estos términos y condiciones con un pop-up o ventana emergente, sin salir de la página del formulario.

1. Deberemos ir al archivo contact-form.tpl de nuestra plantilla e incluir esto al final del archivo:

<script type=”text/javascript”>
$(‘document’).ready(function() {
// desactivo boton envio
$(‘#formcontacto’).submit(function() {
if ($(“#acepta_lopd_form”).is(“:checked”)) {
$(‘#submitMessage’).hide()
return true;
} else  {
alert (“{/literal}{l s=”If you agree to the terms in the Customer Data Privacy message, please click the check box below.”}{literal}”);
$(‘#submitMessage’).show()
return false;
}
});
});
</script>
{/literal}

2. En el mismo archivo, modificaremos el formulario. Cambiaremos la línea:

<form action=”{$request_uri|escape:’htmlall’:’UTF-8′}” method=”post” class=”contact-form-box” enctype=”multipart/form-data”>

Por esta otra:

 <form action=”{$request_uri|escape:’htmlall’:’UTF-8′}” id=”formcontacto” name=”formcontacto” method=”post” class=”contact-form-box” enctype=”multipart/form-data”>

Para añadir un nombre y un id al formulario.

3. Añadimos el checkbox en el formulario, después del textarea (mensaje) y antes del submit (botón de Enviar):

<p class=”checkbox” id=”security_informations”>
<input id=”acepta_lopd_form” type=”checkbox” value=”1″ {if isset($smarty.post.acepta_lopd_form) AND $smarty.post.acepta_lopd_form == 1}checked=”checked”{/if}  name=”acepta_lopd_form”>
<label for=”acepta_lopd_form”>{l s=’I agree to the’} </label> <a href=”{$link->getCMSLink(Configuration::get(‘PS_CONDITIONS_CMS_ID’))}{if Configuration::get(‘PS_REWRITING_SETTINGS’) == 1}&#63;{else}&amp;{/if}content_only=1″ class=”iframe”>{l s=’Privacy Policy’}</a> {l s=’and will adhere to them unconditionally.’}

Estamos diciéndole que el enlace a los términos y condiciones va a ser el que hayamos definido desde el panel de administración:

{$link->getCMSLink(Configuration::get(‘PS_CONDITIONS_CMS_ID’))},

pero cogiendo sólo el contenido textual, sin cabecera ni pie:

content_only=1.

4. Después del checkbox y antes del submit, añadiremos el siguiente script, para que las condiciones se abran en una ventana emergente:

<script type=”text/javascript”>
$(document).ready(function() {
$(“a.iframe”).fancybox({
‘type’ : ‘iframe’,
‘width’:900,
‘height’:600
});
});
</script>

Y eso es todo. Si tenéis cualquier duda o estáis usando una versión de Prestashop anterior a la 1.6., os aconsejo que echéis un vistado al foro de Prestashop:

http://www.prestashop.com/forums/topic/244467-adaptar-el-formulario-de-contacto-a-la-lopd-con-un-check/

¡También podéis consultarnos por aquí y os ayudaremos en lo que podamos!