Integrar Google reCAPTCHA en Prestashop 1.6

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

¿Harto del Spam? ¿De recibir cientos de correos basura? Añadir Google reCAPTCHA en Prestashop 1.6 es más fácil y rápido de lo que piensas. Te explicamos cómo.

 

Pasos:

1.- Obtener las claves de Google reCAPTCHA

Accede al sitio oficial de Google https://www.google.com/recaptcha/intro/ y solicita para tu dominio las claves:

 

 

2.- Ya tenemos las claves, ahora vamos a utilizarlas:

 

 

3. Editar el archivo header.tpl:

Necesitamos añadir el javascript de google recaptcha, para lo que entramos en nuestro panel de control o por ftp a la raíz de la instalación de Prestashop y editamos el archivo  themes/default-bootstrap/header.tpl para añadir antes de la etiqueta de cierre del head </head> la siguiente línea (puede estar o no en la línea 71, dependiendo de cada tema o versión):

<script src='https://www.google.com/recaptcha/api.js'></script>

 

4.- Editar el formulario de contacto:

Ahora buscamos la plantilla que muestra el formulario de contacto de nuestra tienda, contact-form.tpl. En nuestro caso es el tema por defecto, la dirección de la plantilla es themes/default-bootstrap/contact-form.tpl. Hacemos una copia de seguridad por si las moscas y editamos el archivo, en mi caso (puede diferir según la versión de Prestahsop) añado el código de Google en la línea 147 aproximadamente:

ContactController.php

Guardamos todos los cambios y entramos en el formulario de contacto de nuestra tienda y si está todo correcto veremos que ya aparece la famosa casilla «No soy un robot»:

 

5.- Server side

Ahora nos queda quizá la parte más compleja, que es editar el controlador para añadir las llamadas por POST a gooogle y que verifique que quien pretende enviar el formulario de contacto sea un «humano».  Ahora tendremos que editar el archivo controllers/front/ContactController.php. Hacemos una copia de seguridad primero y d, lo abrimos y añadimos las siguientes líneas de código al principio de la función postProcess, no olvidar la llave de cierre } del if de la línea 227 aprox:

 

 

Explicación del código por líneas:

39 recogemos en $recaptcha la respuesta de google

41 – 44 Creamos el array de datos a enviar a Google con ‘secret’ => clave secreta que nos proporciona google y ‘response’ con el contenido recogido en $_POST

46 url de POST para verificar los datos

47 – 53 configuración típica para enviar por POST los datos usando CURL

55 en $response recogemos el JSON que nos devuelve Google

58 en $resultado almacenamos el json_decode de $response

60 si el resultado de success es true procedemos con el envío del formulario (no olvidar cerrar el if)

 

Eso es todo, si has seguido los pasos correctamente puedes olvidarte del spam. Si no has conseguido integrar Google reCAPTCHA en Prestashop 1.6 o en cualquier otra tienda o formulario de contacto y necesitas ayuda, contacta con nosotros y te ofreceremos la solución que mejor se adapte a tus necesidades.

 

El código completo del archivo ContactController.php

PHP

Más...

Nueva web credithousecar.com

Ha sido un placer realizar todo el diseño y la imagen corporativa de credithousecar.com Una web moderna y actual, con un diseño

Más...

Nueva web credithousecar.com

Ha sido un placer realizar todo el diseño y la imagen corporativa de credithousecar.com Una web moderna y actual, con un diseño

Deja un comentario

Ebook Gratis 7 claves para atraer clientes a tu web