Jump to content

Campos Formulario Contacto No Se Envian Al Correo.


sainforan

Recommended Posts

Hola, estoy teniendo un problema con el formulario de contacto de mi pagina web, el formulario ya esta editado, he añadido un par de campos y he quitado el de enviar archivo.
He modificado las plantillas para ver que se manda al correo lo que yo quiero y he modificado tambien el ContactController.php
http://servisanex.es/es/contactenos
Sin embargo no consigo que me envie todos los datos al correo, me manda los campos de Mensaje y Email, pero los datos de Ciudad, Telefono y Nombre no me llegan, me queda como en la foto que adjunto.

Mi versión de Prestashop es la 1.6.0.14

¿Como podría modificar de forma correcta los archivos contact-form.tpl y ContactController.php?

Muchas gracias.

post-1165406-0-37122500-1451387000_thumb.png

Link to comment
Share on other sites

Quita los condicionales del value y prueba a ver, estos

{if isset($name)}{$name|escape:'htmlall':'UTF-8'|stripslashes}{/if}

son para el autocompletado, para que te aparezcan completados tienes que añadirlos en el controller en la function

 initContent()

Tambien seria conveniente que por lo menos validaras esos campos con

Validate::isName
Validate::isPhoneNumber
Validate::isCityName

para que no te pongan cualquier cosa en ellos

Link to comment
Share on other sites

Quita los condicionales del value y prueba a ver, estos

{if isset($name)}{$name|escape:'htmlall':'UTF-8'|stripslashes}{/if}

son para el autocompletado, para que te aparezcan completados tienes que añadirlos en el controller en la function

 initContent()

Tambien seria conveniente que por lo menos validaras esos campos con

Validate::isName
Validate::isPhoneNumber
Validate::isCityName

para que no te pongan cualquier cosa en ellos

en que archivo? en el ContactController.php? y da igual que lo meta en cualquier parte de la función initContent()?

Muchas gracias.

Link to comment
Share on other sites

En la function initContent para lo que se muestre en el .tpl. Las variables las nueva las tienes que añadir en primer array

 $this->context->smarty->assign(array(

Las validaciones si quieres ponerlas las tienes que poner con las otras que hay en 

function postProcess()
Link to comment
Share on other sites

 

En la function initContent para lo que se muestre en el .tpl. Las variables las nueva las tienes que añadir en primer array

 $this->context->smarty->assign(array(

Las validaciones si quieres ponerlas las tienes que poner con las otras que hay en 

function postProcess()

 

En la function initContent para lo que se muestre en el .tpl. Las variables las nueva las tienes que añadir en primer array

 $this->context->smarty->assign(array(

Las validaciones si quieres ponerlas las tienes que poner con las otras que hay en 

function postProcess()

Como pongo las variables?

Muchas gracias.

Edited by sainforan (see edit history)
Link to comment
Share on other sites

Como te comente al principio  estas variables para el autocompletado (como ocurre con la direccion de correo electronico ) de los campos no son necesarias para el funcionamiento de los nuevos campos.

 

Pero vamos si quieres añadir el nombre en estos campos, seria algo asi (nombre y apelllido), esto en la parte de encima del array

$name= Tools::safeOutput(Tools::getValue('full_name',
((isset($this->context->cookie) && isset($this->context->cookie->customer_firstname) && Validate::isName($this->context->cookie->customer_firstname)) ? $this->context->cookie->customer_firstname.' '.$this->context->cookie->customer_lastname : '')));

y esto añadido en la parte del array con las otras variables, sin olvidad la coma del final de la linea anterior

'name' => $name,
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...