Jump to content

Como añadir campos al formulario de Contacto de Prestashop 1.4 y Prestashop 1.5


luismiguel

Recommended Posts

Hola a tod@s.

He visto algunos post en el los que se busca agregar campos addicionales al formulario de contacto, al objeto de poder atender mejor al cliente y disponer de más información de contacto, para facilitar las ventas.

 

Os dejo un ejemplo con los archivos modificados y probados, en una version PS. 1.4.6.2

 

Saludos.

 

Mensaje editado por la moderación del foro.

 

Para Prestashop 1.5, aquí: http://www.prestasho...ost__p__1269688

 

(El fichero adjunto aquí es para Prestashop 1.4.6.2)

post-35376-0-77359400-1341079448_thumb.jpg

contact.form.zip

Edited by nadie
Actualizar Tema (see edit history)
  • Like 3
Link to comment
Share on other sites

buenas!te queria preguntar una cosa. Estoy intentando hacer el mismo formulario de contacto...y claro los datos quiero que se me guarden en la tabla los de nombre,telefono y ciudad. donde creastes los nuevos campos en la tabla?

saludos espero tu contestacion y gracias de antemano!

Link to comment
Share on other sites

buenas!te queria preguntar una cosa. Estoy intentando hacer el mismo formulario de contacto...y claro los datos quiero que se me guarden en la tabla los de nombre,telefono y ciudad. donde creastes los nuevos campos en la tabla?

saludos espero tu contestacion y gracias de antemano!

 

Los datos no los creé en la tabla, está como viene por defecto, el objeto de ampliar el formulario era unicamente de recibir datos complementarios del cliente por e.mail, para poder contactar por telefono y la ubicación de su Ciudad, por si la tienda esta en su radio de transportistas o no.

 

En cualquier caso si quieres que esta información sea guardada en la BD. deberás modificar en el archivo ContactController.php, los campos que quieres que se almacenen en la base de datos.

 

Tambien deberás añadir a las tabla ps_customer_message, y ps_customer _thread, los campos que quieres que sean guardados.

 

Saludos.

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

En 1.4.8.2 funciona perfectamente. Muchas gracias por tu aporte.

 

Una sola cosa los que usamos la pagina en ingles, frances y aleman, donde lo traducimos? Ya que en el traductor no me aparece por ningun lado.

 

Puedes traducir desde, Herramientas/traducciones/Traducciones de front office -> (icono bandera a traducir) -> /contact-form.

Esto se debe a que hice los cambios en español, en los archivos tpl. y php. - pero desde traducciones se puede corregir como te he explicado. O puedes editar en conntact-form.tpl, los "labels", en inglés, entonces te aparecerán en inglés y podrás traducirlo desde el back end como siempre.

 

<label for="name">{l s='Nombre'}</label>

<label for="city">{l s='Ciudad'}</label>

<label for="phone">{l s='Telefono'}</label>

 

Tambien en Contact-Controller.php deberás traducir los campos:

 

$this->errors[] = Tools::displayError('El campo Ciudad no puede estar vacio');

 

Saludos.

post-35376-0-14556300-1341778837_thumb.jpg

Link to comment
Share on other sites

En 1.4.8.2 funciona perfectamente. Muchas gracias por tu aporte.

 

Una sola cosa los que usamos la pagina en ingles, frances y aleman, donde lo traducimos? Ya que en el traductor no me aparece por ningun lado.

 

Aquí te dejo el archivo contact-form.tpl , para uso multilingüe, el ContactController.php , es muy fácil de modificar como te explico más arriba.

No sé si estará bien traducido, "mi inglés es limitado."

Saludos.

contact-form-en.zip

post-35376-0-06588900-1341795114_thumb.jpg

post-35376-0-41455400-1341795148_thumb.jpg

Link to comment
Share on other sites

Aquí te dejo el archivo contact-form.tpl , para uso multilingüe, el ContactController.php , es muy fácil de modificar como te explico más arriba.

No sé si estará bien traducido, "mi inglés es limitado."

Saludos.

 

Muchas gracias. Ya lo traduci manualmente. No obstante me lo guardo para la proxima.

Link to comment
Share on other sites

  • 4 weeks later...

En primer lugar, gracias por el aporte.

 

Por otro lado comentar que cuando salta el mensaje de error de algunos de los campos, inicializa a vacio el campo nombre. Sólo ocurre con ese campo, y me gustaría que se mantuviese el texto puesto antes del mensaje de error.

 

Un saludo y gracias.

Link to comment
Share on other sites

Ya lo he solucionado. Cambiar la línea:

...input type="text" id="name" name="fromname" value="{if isset($smarty.post.name)}{$smarty.post.name}{/if}"...

 

por:

...input type="text" id="name" name="fromname" value="{if isset($smarty.post.fromname)}{$smarty.post.fromname}{/if}"...

 

Otra cosa que he notado es que el campo teléfono aun marcado como obligatorio, no hace la comprobación.

Link to comment
Share on other sites

  • 5 weeks later...

Buenos dias ,

 

alguien tiene el mismo formulario pero con Calle y codigo postal ?

Aquí: http://www.prestasho...post__p__653131 tienes una mini guía.

 

I have successfully added a name field to the contact form in PrestaShop 1.4.4.0. I edited these files:

----controllers\contactcontoller.php (this should go in the override\controllers folder when complete)

----mails\en\contact.txt

----mails\en\contact.html

----themes\yourtheme\contact-form.tpl

 

contact-form.tpl

<p class="text">
 <label for="name">{l s='Name'}</label>
 {if isset($customerThread.name)}
<input type="text" id="name" name="fromname" value="{$customerThread.name}" readonly="readonly" />
 {else}
<input type="text" id="name" name="fromname" value="{$name}" />
 {/if}
</p>

 

contactcontroller.php

Line 82: (validate Name field is filled in)

if (!($fromname = trim(Tools::getValue('fromname'))) OR (!($fromname = nl2br2($fromname))))
$this->errors[] = Tools::displayError('Contact Name cannot be blank');
elseif (!($from = trim(Tools::getValue('from'))) OR !Validate::isEmail($from))
$this->errors[] = Tools::displayError('Invalid e-mail address');

 

Line 156 (orig) (send fromName as array parm and as name in Mail header)

if (Mail::Send((int)(self::$cookie->id_lang), 'contact', Mail::l('Message from contact form'), array('{email}' => $from, '{message}' => stripslashes($message),'{fromName}' => stripslashes($fromname)), $contact->email, $contact->name, $from, ((int)(self::$cookie->id_customer) ? $customer->firstname.' '.$customer->lastname : $fromname), $fileAttachment)

 

Line 208 (orig)

if (Mail::Send((int)(self::$cookie->id_lang), 'contact', Mail::l('Message from contact form'), array('{email}' => $from, '{message}' => stripslashes($message),'{fromName}' => stripslashes($fromname)), $contact->email, $contact->name, $from, ((int)(self::$cookie->id_customer) ? $customer->firstname.' '.$customer->lastname : $fromname), $fileAttachment)

 

contact.html

Line 18

<TR>
<TD align=left>Name: <STRONG>{fromName}</STRONG> <BR></TD></TR>

 

contact.txt (added at Line 5)

Name: {fromName}

 

I hope this helps someone else.

  • Like 1
Link to comment
Share on other sites

Lo siento pero no se hacerlo yo mismo , no se programar ni nada y noentiendo muy bien el tema de los codigos

 

Si alguien podria hacerme un formulario con estos campos , lo he intentado con el bloc de notas editando y demas y no soy capaz :

 

Nombre: *

Dni:

Dirrecion:

Localidad:

Codigo postal:

Telefono:

email*

Marca y Modelo:

Mensaje*

 

siendo los asteriscos los obligatorios...os lo agradeceria muchismo

 

gracias de antemano

Link to comment
Share on other sites

  • 2 months later...

Hola amigos necesito una guia para poder crar un form que pueda ser modificado ,osea que se le puedan agregar campos de datos .el form en si lo he creado y su conexion a la bd tambien pero no me doy idea para aumentar el numero de campos segun el cliente quiera .si alguien me da una mano estare muy agradecido

Link to comment
Share on other sites

  • 3 weeks later...

Hola a tod@s.

He visto algunos post en el los que se busca agregar campos addicionales al formulario de contacto, al objeto de poder atender mejor al cliente y disponer de más información de contacto, para facilitar las ventas.

 

Os dejo un ejemplo con los archivos modificados y probados, en una version PS. 1.4.6.2

 

Saludos.

 

Hola. Me podrías decir si tus archivos funcionan bien en la version PS 1.5.2 ?

Muchas gracias

  • Like 1
Link to comment
Share on other sites

  • 5 weeks later...
  • 3 weeks later...
  • 2 months later...

Hola, ante todo gracias por tu trabajo.

 

Me gustaría añadir un formulario personalizado. Pero en lugar de sustituir el que hay lo que quiero hacer yo es dejar el que hay para contacto y crear otro adicional más personalizado para recoleptar información más específica, con campos más grandes para más cantidad de texto.

 

Lo quiero para presta 1.5.3.1

 

Mi pregunta es... Es posible duplicar el formulario de contacto y hacer esto?

Link to comment
Share on other sites

Hola, ante todo gracias por tu trabajo.

 

Me gustaría añadir un formulario personalizado. Pero en lugar de sustituir el que hay lo que quiero hacer yo es dejar el que hay para contacto y crear otro adicional más personalizado para recoleptar información más específica, con campos más grandes para más cantidad de texto.

 

Lo quiero para presta 1.5.3.1

 

Mi pregunta es... Es posible duplicar el formulario de contacto y hacer esto?

 

Mira estos 2 links:

 

http://www.prestashop.com/forums/topic/38992-custom-form-module/page__p__360490?do=findComment&comment=360490

 

http://www.formmail-maker.com/generator.php

Link to comment
Share on other sites

Hola,

He visto los enlaces.

En el primero parece que se habla justo de este problema pero es del 2010 y las soluciones que plantean no funcionan.

He probado la página de formsite.com y la verdad es que está muy bien. Te genera un embed code para añadir el formulario al html del CMS, pero luego no se reproduce una vez guardado.

 

También he probado otra solución que mencionan... crear un iframe y poner el enlace dentro: El presta muestra el iframe pero dentro me lleva a la página de error del presta y no deja mostrar el enlace del formulario.

 

Y luego he probado con la página de formmail que me has pasado. Es menos vistosa que la de formsite.com pero parece que en lugar de generar el formulario de forma externa te crea un archivo descargable para gestionarlo de forma interna. Yo lo he creado y me he descargado el formulario. En realidad me he descargado un zip que lleva 3 archivos php (admin.php, form.lib.php y form.php) el problema es que no se como insertar ese formulario en el cms o cómo trabajar con esos archivos...

 

Podrías ayudarme?

Link to comment
Share on other sites

  • 4 weeks later...
  • 3 weeks later...
  • 2 weeks later...
  • 3 weeks later...

Hola. Me podrías decir si tus archivos funcionan bien en la version PS 1.5.2 ?

Muchas gracias

 

Aporte Actualizado para la version 1.5

 

Este ZIP contiene como deben colocar los archivos para que funcione en la version 1.5 de Prestashop [lo probé en prestashop 1.5.4.1]

 

Espero les sirva

contact-form-prestashop_1.4-1.5.zip

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...

Por favor, alguien sabe de algún módulo (a poder ser free) para hacer el formulario de contacto personalizado y editable desde el back?? o al menos mas facil que cambiando por completo el tpl de contact_form?¿ Gracias!

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...
  • 2 months later...
  • 1 month later...
  • 1 month later...
  • 1 month later...

Aporte Actualizado para la version 1.5

 

Este ZIP contiene como deben colocar los archivos para que funcione en la version 1.5 de Prestashop [lo probé en prestashop 1.5.4.1]

 

Espero les sirva

 

Victor, muy bien organizado el zip con ambas versiones de prestashop. No los he utilizado exactamente, pero me han servido de mucho para conocer como funciona en ps1.5.6 y poder hacer mis propios campos en el formulario. Funciona Bien!!

 

Solo falta que los campos nuevos que se añaden correctamente segun los tienes tu en el formulario y los mails, salgan tambien en el servicio al cliente del backoffice, ya que entiendo que como no están añadidos en el AdminCustomerThreadsController.php ( dentro de controllers/admin) no se muestran esos textos para que puedan leerse del el servicio al cliente del backoffice.

 

Estoy tratando de incorporarlos pero de momento no encuentro el lugar y como hacerlo. ¿alguna idea de como hacerlo?.

Un saludo y muchas gracias por el aporte.

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

Alguien me ha dado una ayuda y supongo quiere ser anónimo, por que no ha contestado directamente en este topic, así que Gracias, ya sabes quién, muchas gracias.

La solución para que se incluyan los datos en el mensaje de servicio al cliente del backoffice, pasa por modificar o mejor emplear la carpeta override otros archivos que se usan para customerthread, no era el que yo estaba tocando, además de la base de datos.

 

Está explicado en http://nemops.com/adding-new-fields-to-prestashop-contact-form/#.UyisY_l5NRIdice

Funciona ok. 

Yo lo he utilizado en prestashop1.5.6 

Edited by FERMB (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 3 months later...
  • 2 months later...
  • 2 months later...
  • 1 year later...

Hola amigos gracias por todo

 

Les informo pude realizar todos los cambios y de hecho ya me envia el correo pero el inconveniente es que el correo que recibo es el siguiente:

 

 

EMPRESA: [email protected]

NOMBRE Y APELLIDO: [email protected]

DIRECCIÓN DE E-MAIL: [email protected]

TELÉFONO: [email protected]

Mensaje: fa

 

 

En todos los datos me aparece el mismo de Email. Que deberia hacer para solucionar esto?

Link to comment
Share on other sites

  • 10 months later...
  • 2 months later...
  • 9 months later...

Hola a todos, me podriais echar un cable? es que resulta que mi formulario me da siempre un error que no sé como ni donde solucionar.

Quizás este no es el hilo que debo usar, pero es que ya lo he puesto en otro nuevo y no recibo respuesta.

Muchas gracias.

error 1 en formulario de contacto.png

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...