Formulario de Conta...
 
Avisos
Vaciar todo

Formulario de Contacto - No aparece captcha - Prestashop

2 Respuestas
2 Usuarios
0 Reactions
844 Visitas
Antonio
Respuestas: 68
Trusted Member
Topic starter
 

Buenas tardes,

El formulario de la tienda no permite enviar mensajes, da error en el captcha.

A ver si podéis echar un vistazo aquí:

https://altillojoyeros.com/contactenos

saludos, antonio

URL del sitio: Contenido solo visible a usuarios registrados


 
Respondido : 12/02/2018 8:52 pm
Pepe
 Pepe
Respuestas: 41108
Illustrious Member Admin
 

Hola Antonio.

.- Accede a la página de reCaptcha y da de alta tu dominio, toma nota de los datos.

.- Copia este código en el archivo header.tpl que encontrarás en la raíz de tu instalación ( Public_html ), lo añades en la primera línea:


.- Copia el siguiente código en /themes -> tu_plantilla -> contact-form.tpl (que es el archivo que muestra el html del formulario de contacto)

Tienes que modificar aquí la clave del sitio que te facilita Google por la clave que obtuviste cuando distes de alta en Captcha

Por último accede a controllers -> front -> ContactController.php (que es el archivo que realiza las comprobaciones del formulario de contacto) y busca lo siguiente:

else if (!empty($fileAttachment['name']) && !in_array( Tools::strtolower(substr($fileAttachment['name'], -4)), $extension) && !in_array( Tools::strtolower(substr($fileAttachment['name'], -5)), $extension))
	$this->errors[] = Tools::displayError('Bad file extension');
else

Debajo de esa línea añade lo siguiente:

else if (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response'))))
	$this->errors[] = Tools::displayError('Captcha no verificado');

Quedaría como esto:

else if (!empty($fileAttachment['name']) && !in_array( Tools::strtolower(substr($fileAttachment['name'], -4)), $extension) && !in_array( Tools::strtolower(substr($fileAttachment['name'], -5)), $extension))
	$this->errors[] = Tools::displayError('Bad file extension');
else if (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response'))))
	$this->errors[] = Tools::displayError('Captcha no verificado');
else

Nota: recuerda realizar una copia de los archivo antes de realizar alguna modificación.

Un saludo


 
Respondido : 13/02/2018 9:38 am