sainforan Posted December 29, 2015 Share Posted December 29, 2015 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.phphttp://servisanex.es/es/contactenosSin 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. Link to comment Share on other sites More sharing options...
ventura Posted December 29, 2015 Share Posted December 29, 2015 Si puedes poner como has añadido los campos tanto en el .tpl como en el controller seria de bastante ayuda Link to comment Share on other sites More sharing options...
sainforan Posted December 29, 2015 Author Share Posted December 29, 2015 (edited) Adjunto los archivos, no sé si estará bien editado. ContactController.php contact-form.zip Edited December 29, 2015 by sainforan (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted December 29, 2015 Share Posted December 29, 2015 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 More sharing options...
sainforan Posted December 30, 2015 Author Share Posted December 30, 2015 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 More sharing options...
ventura Posted December 30, 2015 Share Posted December 30, 2015 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 More sharing options...
sainforan Posted December 30, 2015 Author Share Posted December 30, 2015 (edited) 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 December 30, 2015 by sainforan (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted December 30, 2015 Share Posted December 30, 2015 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now