es Spanish

Integrar Google reCAPTCHA en Prestashop 1.6

Share on facebook
Share on linkedin
Share on twitter
Share on email

¿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 entradas

tienda online en shopify
Portfolio

Tienda online en Shopify: Lacachimba.es

En este proyecto hemos creado la tienda online de La Cachimba en la plataforma Shopify. El cliente contaba con una web en WordPress + WooCommerce

reputación online Válquer
Marketing Online

Reputación Online Válquer

En el proyecto de reputación online de Válquer se buscó identificar y monitorizar la visión de la marca en el mercado. El sentimiento que desprende

Categorías

¿Quieres impulsar tu negocio?

escríbenos y manténte en contacto

Desarrollo de tiendas online Garber Informática