Añadir nombre y tel...
 
Avisos
Vaciar todo

Añadir nombre y teléfono al formulario de contacto - Prestashop  

Página 1 / 2
 
Enrique
 Enrique
Famed Member

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

Citar
Respondido : 25/10/2017 5:31 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

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.

ResponderCitar
Respondido : 25/10/2017 8:46 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Enrique
 Enrique
Famed Member

Buenos días,

Disculpa. Adjunto fichero.

Gracias.

Un saludo, Enrique P.

ResponderCitar
Respondido : 26/10/2017 9:24 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

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

ResponderCitar
Respondido : 26/10/2017 1:52 pm

Cursos Gratuitos WordPress

Enrique
 Enrique
Famed Member

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.

ResponderCitar
Respondido : 30/10/2017 5:19 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

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.

ResponderCitar
Respondido : 30/10/2017 8:35 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Enrique
 Enrique
Famed Member

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.

ResponderCitar
Respondido : 31/10/2017 9:52 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

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

ResponderCitar
Respondido : 31/10/2017 11:47 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Enrique
 Enrique
Famed Member

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.

ResponderCitar
Respondido : 31/10/2017 12:12 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Te falta concatenar la variable mensaje al final, si te das cuenta debe llevar un "." delante

$message .= Tools::getValue('message')

Saludos.

ResponderCitar
Respondido : 31/10/2017 5:18 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Enrique
 Enrique
Famed Member

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.

ResponderCitar
Respondido : 02/11/2017 3:38 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

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.

ResponderCitar
Respondido : 02/11/2017 5:26 pm

Cursos Gratuitos WordPress

Enrique
 Enrique
Famed Member

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.

ResponderCitar
Respondido : 02/11/2017 6:43 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

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.

ResponderCitar
Respondido : 02/11/2017 9:27 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Enrique
 Enrique
Famed Member

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.

ResponderCitar
Respondido : 03/11/2017 8:35 am
Página 1 / 2