Añadir 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:

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:

 

Selección 149 Añadir Google reCAPTCHA en Prestashop 1.6

Ya tenemos las claves, ahora vamos a utilizarlas:

 

Selección 150 1 Añadir Google reCAPTCHA en Prestashop 1.6

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>

Selección 152 Añadir Google reCAPTCHA en Prestashop 1.6

 

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:

Selección 151 Añadir Google reCAPTCHA en Prestashop 1.6ContactController.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”:

 

Selección 153 Añadir Google reCAPTCHA en Prestashop 1.6

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:

 

Selección 156 1 Añadir Google reCAPTCHA en Prestashop 1.6

 

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.

Revisión febrero 2021.

Existe un módulo gratuito eicaptcha, nosotros no lo hemos probado pero en los comentarios nos dicen que funciona correctamente. En próximas instalaciones lo probaremos y os comentamos.

Podéis obtener el módulo aquí: https://github.com/nenes25/eicaptcha

Si te ha servido, deja un comentario

2 respuestas

  1. Seguiendo paso a paso, nop funciona. Aparte, no provee el codigo y tuve que escribit todo a mano, que perdida de tiempo. Al final opte por el modulo gratuito eicaptcha.

    1. Gracias por el aporte, lamentamos que no te haya funcionado el tutorial, añadimos el módulo al post por que seguro que a alguien le sirve. Saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Más entradas
Blog

¿Qué es Link Building?

Puede ser que en alguna ocasión te hayas topado con este término mientras hacías algún estudio o simplemente mientras navegabas por la red y entonces

Categorías
¿Quieres impulsar tu negocio?
escríbenos y manténte en contacto
Desarrollo de tiendas online Garber Informática
Contacta con nosotros