Buenas tardes,
Necesito añadir el campo Nombre y Teléfono al formulario de contacto de prestashop.
He seguido este manual:
http://nemops.com/adding-new-fields-to-prestashop-contact-form/#.WfBw11t-qUl
Me he quedado en el paso este:
Go to override/controllers/front/ and create a new file named ContactController.php, the open up the original file with the same name, located in controllers/front. copy the whole _postProcess method and paste it inside the newly created file, so it looks like this:
**
Ahí me dicen que cree el archivo pero vosotros ya lo tenéis creado, creo que por el tema del captcha.
También he seguido con el paso 3 cuando relleno los campos, el email no entra en Prestashop.
Adjunto el fichero, a ver si le podéis echar un vistazo.
Gracias.
Un saludo, Enrique P.
URL del sitio: Contenido solo visible a usuarios registrados
Hola
Efectivamente sería cuestión de agregar las funciones adicionales para la creación de los campos en el archivo que ya tienes.
Envía nuevamente tu archivo, ya que no se adjuntó, envíalo en .zip, o puedes subirlo a dropbox y envianos la url.
Saludos.
Hola Enrique.
.- edita el archivo contact-form.tpl que encontraras en la ruta themes/tu_plantilla/contact-form.tpl
.- antes de " {if !$PS_CATALOG_MODE} " añade los siguiente:
.- Edita el archivo ContactController.php que encontrarás controllers/front/ContactController.php
.- debajo del codigo " $file_attachment = Tools::fileAttachment('fileUpload'); " añade lo siguiente:
$telefono = trim(Tools::getValue('telefono')); $empresa = trim(Tools::getValue('empresa')); if ($telefono) $message = 'El telefono es: ' . $telefono .' '; if ($empresa) $message .= ' El nombre de la empresa es: ' . $empresa .' ';
Este es el resultado:
Nota: recuerda descargar una copia de los archivo s antes de realizar ninguna modificación.
Un saludo
Buenas tardes,
Los campos aparecen pero cuando se rellenan dichos campos no se reflejan en el mensaje que llega. ¿Tenemos que modificar algo más?
Por otra parte, ¿como puedo cambiar el captcha antiguo pero el captcha v2 nuevo que Google exigirá a partir del 18 de Marzo de 2018?
Gracias.
Un saludo, Enrique P.
Hola
Has creado el archivo de clase?, es decir, no sólo es necesario modificar el archivo .tpl
http://nemops.com/adding-new-fields-to-prestashop-contact-form/
Tu otra consulta de recaptcha mejor plantéala en un nuevo hilo cuando hayas solucionado este primer punto
Saludos.
Buenos días,
Esta bien, vayamos por pasos.
Según puedo entender, me iría al paso 2:
http://nemops.com/adding-new-fields-to-prestashop-contact-form/#.Wfg4V1v9SUk
Iría a la carpeta override/classes/ y dentro crearía el fichero CustomerThread.php y dentro de dicho fichero y según los campos que hemos añadido tu compañero Pablo y yo tendría que añdir el siguiente código:
'customer_thread', 'primary' => 'id_customer_thread', 'fields' => array( 'id_lang' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_contact' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'id_customer' =>array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'id_order' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'id_product' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'email' => array('type' => self::TYPE_STRING, 'validate' => 'isEmail', 'size' => 254), 'token' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true), 'status' => array('type' => self::TYPE_STRING), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), 'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), 'empresa' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'), 'telefono' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId''), ), ); }
Dime si ese paso y está bien y pasaré al siguiente.
Un saludo, Enrique P.
Hola Enrique.
Con lo que te pase tiene que aparecerte en el correo los datos tanto del teléfono como el de el nombre.
Revisa esta entrada -> https://www.informax.es/2016/05/27/crear-campos-en-el-formulario-de-contacto-de-prestashop-en-menos-de-un-minuto/
Un saludo
Buenas tardes Pepe,
Que raro, no me aparece. Te adjunto los archivos modificados, a ver si me he saltado algo.
Tengo que compilar los archivos o algo? o hacer algo en la página de temas de caché?
Gracias.
Espero noticias.
Un saludo, Enrique P.
Hola
Te falta concatenar la variable mensaje al final, si te das cuenta debe llevar un "." delante
$message .= Tools::getValue('message')
Saludos.
Buenas tardes,
He modificado el contactcontroller.php y he añadido el punto donde lo ponéis vosotros en la línea 47 pero el mensaje me sigue llegando igual, sin el número de teléfono y sin el nombre de la empresa.
Adjunto archivos nuevamente.
Gracias por vuestra ayuda.
Un saludo, Enrique P.
Hola
El código en el ContactController.php lo veo correcto ahora ya que esta que concatena.
En donde has modificado este archivo? indícanos la ruta, ten en cuenta que si tienes el mismo archivo en la carpeta de override tendrá prioridad : /override/controllers/front/ , verifica si tienes archivos de overrides en esta última ruta.
Saludos.
Buenas tardes,
He renombrado el archivo que había en esa ruta y he metido el nuevo y la web me da un error 500.
Adjunto nuevamente todos los archivos, el que ponen OLD es el que estaba antes de poner el válido.
Gracias.
Espero noticias.
Un saludo, Enrique P.
Hola
Entiendo que estas modificando en la carpeta overrides
Prueba con el archivo que te adjunto, he modificado en base al archivo contactcontrollerOLD.php ya que entiendo que era el original y sólo he agregado las variables de empresa
Saludos.
Buenos días Jhon,
Sigue sin llegarme ni el teléfono ni el nombre. Echa un vistazo al archivo que tengo publicado, es el que te adjunto.
A ver si he tenido cualquier confusión.
Gracias por tu ayuda.
Un saludo, Enrique P.