Jump to content

(Solucionado) Añadir un campo al "formulario de contacto" (PS 1.5)


Recommended Posts

Hola de nuevo

 

Estoy añadiendo un campo al "formulario de contacto" y me queda una pequeña cosilla por solucionar.

 

He modificado el contact-form.tpl añadiendo

<p class="text">
  <label for="localite">Localidad (Provincia)</label>
  <input type="text" id="localite" name="localite" value="{if isset($localite)}{$localite|escape:'htmlall':'UTF-8'|stripslashes}{/if}">
</p>

 

He modificado también los contact.html y .txt añadiendo

Localidad: {localite}

 

Por último en el ContactController.php he añadido...

 

$mail_var_list = array(
 '{email}' => $from,
 '{message}' => Tools::nl2br(stripslashes($message)),
 '{id_order}' => $id_order,
 '{localite}' => $localite,   <----------------------------- ESTO -----------------
 '{order_name}' => $order->getUniqReference(),
 '{attached_file}' => isset($_FILES['fileUpload'], $_FILES['fileUpload']['name']) ? $_FILES['fileUpload']['name'] : ''
);

...que, evidentemente, no es puesto que, aunque el correo de notificación llega correctamente a su destino, el capo "Localidad" está siempre vacío.

 

Todas las modificaciones que he encontrado del ContactController tienen respecto a la versión que tengo algunas diferencias que no se interpretar.

 

Versión de PrestaShop: 1.5.0.17

URL de su tienda: http://www.centrodigital.com.es/TTQ/

Nombre del tema utilizado: default

 

Saludos desde la orilla del Guadiana

Edited by TonyG (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

¡Lo cazé!

 

Había que añadir también esto:

 

$message = Tools::getValue('message'); // Html entities is not usefull, iscleanHtml check there is no bad html tags.
$localite = Tools::getValue('localite');  <----------------------------- ESTO -----------------
if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from))

 

Por si a alguien le sirve.

 

Saludos desde la orilla del Guadiana

Edited by TonyG (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Buenas tardes,

 

Tengo el 1.5.1.0 y he probado las lineas que comentas (localite lo he cambiado por telefono)... y aun añadiendo en contaccontrollet la linea:

$telefono = Tools::getValue('telefono');

 

No me llega al correo el campo rellenado.

 

¿Has tenido que hacer alguna otra cosa?

 

Un saludo y gracias,

Share this post


Link to post
Share on other sites

  • 1 month later...

Perdonad!

 

Estoy intentando añadir tb el teléfono en el formulario de contacto y he llegado hasta modificar el "contact-form.tpl" pero no localizo ni:

 

- contact.html

- contact.txt

- contactcontroller.php

 

Podeis echarme una mano por favor?

Share this post


Link to post
Share on other sites

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

Hola gente,

 

Yo he realizado los cambios en los ficheros: contact-form.tpl, contact.html y .txt, ContactController.php. Lo que quisiera saber es que tengo que hacer para definir las traducciones en los diferentes idiomas. Por lo que he leido en otros posts creo que tengo que añadir algo en algun fichero del tema pero no me ha quedado claro.

 

¿Alguna ayuda?

Share this post


Link to post
Share on other sites

  • 4 months later...

saludos

 

Tengo inconvenientes para modificar el formulario de contacto.

Tecnicamente ya he agrgado varios campos nuevos como pueden ver acá allianceinternational.com.co.

El problema es que no me llegan los datos del cliente a la pagina de administración o (backOffice).

 

Esto es lo que he agregado en el contact-form.tpl

<p class="text">
   <label for="nombre">Nombre: </label>
   <input type="text" id="nombre" name="nombre" value="{if isset($nombre)}{$nombre|escape:'htmlall':'UTF-8'|stripslashes}{/if}" required/>
  </p><br>
  <p class="text">
   <label for="apellido">Apellido: </label>
   <input type="text" id="apellido" name="apellido" value="{if isset($apellido)}{$apellido|escape:'htmlall':'UTF-8'|stripslashes}{/if}" required/>
  </p>
  <p class="text">
   <label for="telefonoDom">Teléfono domicilio / oficina: </label>
   <input type="text" id="telefonoDom" name="telefonoDom" value="{if isset($telefonoDom)}{$telefonoDom|escape:'htmlall':'UTF-8'|stripslashes}{/if}" />
  </p>
  <p class="text">
   <label for="mobil">Móvil: </label>
   <input type="text" id="movil" name="movil" value="{if isset($movil)}{$movil|escape:'htmlall':'UTF-8'|stripslashes}{/if}" required/>
  </p>

  <p class="text">
   <label for="email">{l s='Email address'}</label>
   {if isset($customerThread.email)}
 <input type="text" id="email" name="from" value="{$customerThread.email|escape:'htmlall':'UTF-8'}" readonly="readonly" />
   {else}
 <input type="text" id="email" name="from" value="{$email|escape:'htmlall':'UTF-8'}" />
   {/if}
  </p>
  <p class="text">
   <label for="ref">Cómo se enteró de Alliance?: </label>
   <input type="text" id="ref" name="ref" value="{if isset($ref)}{$ref|escape:'htmlall':'UTF-8'|stripslashes}{/if}" required/>
  </p>

 

Esto es lo que he agregado en el contact.html:

 

<tr>
  <td align="left" style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;">Mensaje de un cliente de {shop_name}</td>
 </tr>
 <tr>
  <td> </td>
 </tr>
 <tr>
  <td align="left">Nombre: <strong>{nombre}</strong>
 </tr>
 <tr>
  <td align="left">Apellido: <strong>{apellido}</strong>
 </tr>
 <tr>
  <td align="left">Teléfono Domicilio: <strong>{telefonoDom}</strong>
 </tr>
 <tr>
  <td align="left">Móvil: <strong>{movil}</strong>
 </tr>
 <tr>
  <td align="left">Dirección de E-mail: <a href="mailto:{email}"><strong>{email}</strong></a><br />
  <br />
  Mensaje: {message}</td>
 </tr>
 <tr>
  <td align="left">Cómo se enteró? <strong>{ref}</strong>
 </tr>
 <tr>
  <td> </td>
 </tr>
 <tr>
  <td align="center" style="font-size: 10px; border-top: 1px solid #D9DADE;"><a href="{shop_url}" style="color: {color}; font-weight: bold; text-decoration: none;">{shop_name}</a> desarrollado por <a href="http://www.ledesmaweb.com/" style="text-decoration: none; color: #374953;">PrestaShop™</a></td>
 </tr>

 

Esto es lo que tengo en el contact.txt

 

Estimado comerciante,

 

Ha recibido un mensaje de un cliente desde su tienda: {shop_name}

 

Nombre: {nombre}

 

Apellido: {apellido}

 

Teléfono Domicilio: {telefonoDom}

 

Móvil: {movil}

 

Dirección de E-mail del cliente: {email}

 

Cómo se enteró? {ref}

 

Mensaje:

 

{message}

 

y esto es lo que tengo en el ContactController.php en la linea 48

 

$message = Tools::getValue('message'); // Html entities is not usefull, iscleanHtml check there is no bad html tags.
  $nombre = Tools::getValue('nombre');
  $apellido = Tools::getValue('apellido');
  $telefonoDom = Tools::getValue('telefonoDom');
  $movil = Tools::getValue('movil');
  $ref = Tools::getValue('ref');

 

y en la linea 173 tengo esto:

 

$var_list = array(
	 '{order_name}' => '-',
	 '{attached_file}' => '-',
	 '{message}' => Tools::nl2br(stripslashes($message)),
	 '{email}' =>  Tools::nl2br(stripslashes($from)),
	 '{nombre}' => Tools::nl2br(stripslashes($nombre)),
	 '{apellido}' => Tools::nl2br(stripslashes($apellido)),
	 '{telefonoDom}' => Tools::nl2br(stripslashes($telefonoDom)),
	 '{movil}' => Tools::nl2br(stripslashes($movil)),
	 '{ref}' => Tools::nl2br(stripslashes($ref))
    );

 

Si alguien sabe algo sobre esto le agradezco por su valiosa colaboración

Share this post


Link to post
Share on other sites

saludos

 

Tengo inconvenientes para modificar el formulario de contacto.

Tecnicamente ya he agrgado varios campos nuevos como pueden ver acá allianceinternational.com.co.

El problema es que no me llegan los datos del cliente a la pagina de administración o (backOffice).

 

Esto es lo que he agregado en el contact-form.tpl

<p class="text">
<label for="nombre">Nombre: </label>
<input type="text" id="nombre" name="nombre" value="{if isset($nombre)}{$nombre|escape:'htmlall':'UTF-8'|stripslashes}{/if}" required/>
  </p><br>
  <p class="text">
<label for="apellido">Apellido: </label>
<input type="text" id="apellido" name="apellido" value="{if isset($apellido)}{$apellido|escape:'htmlall':'UTF-8'|stripslashes}{/if}" required/>
  </p>
  <p class="text">
<label for="telefonoDom">Teléfono domicilio / oficina: </label>
<input type="text" id="telefonoDom" name="telefonoDom" value="{if isset($telefonoDom)}{$telefonoDom|escape:'htmlall':'UTF-8'|stripslashes}{/if}" />
  </p>
  <p class="text">
<label for="mobil">Móvil: </label>
<input type="text" id="movil" name="movil" value="{if isset($movil)}{$movil|escape:'htmlall':'UTF-8'|stripslashes}{/if}" required/>
  </p>

  <p class="text">
<label for="email">{l s='Email address'}</label>
{if isset($customerThread.email)}
 <input type="text" id="email" name="from" value="{$customerThread.email|escape:'htmlall':'UTF-8'}" readonly="readonly" />
{else}
 <input type="text" id="email" name="from" value="{$email|escape:'htmlall':'UTF-8'}" />
{/if}
  </p>
  <p class="text">
<label for="ref">Cómo se enteró de Alliance?: </label>
<input type="text" id="ref" name="ref" value="{if isset($ref)}{$ref|escape:'htmlall':'UTF-8'|stripslashes}{/if}" required/>
  </p>

 

Esto es lo que he agregado en el contact.html:

 

<tr>
  <td align="left" style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;">Mensaje de un cliente de {shop_name}</td>
 </tr>
 <tr>
  <td> </td>
 </tr>
 <tr>
  <td align="left">Nombre: <strong>{nombre}</strong>
 </tr>
 <tr>
  <td align="left">Apellido: <strong>{apellido}</strong>
 </tr>
 <tr>
  <td align="left">Teléfono Domicilio: <strong>{telefonoDom}</strong>
 </tr>
 <tr>
  <td align="left">Móvil: <strong>{movil}</strong>
 </tr>
 <tr>
  <td align="left">Dirección de E-mail: <a href="mailto:{email}"><strong>{email}</strong></a><br />
  <br />
  Mensaje: {message}</td>
 </tr>
 <tr>
  <td align="left">Cómo se enteró? <strong>{ref}</strong>
 </tr>
 <tr>
  <td> </td>
 </tr>
 <tr>
  <td align="center" style="font-size: 10px; border-top: 1px solid #D9DADE;"><a href="{shop_url}" style="color: {color}; font-weight: bold; text-decoration: none;">{shop_name}</a> desarrollado por <a href="http://www.ledesmaweb.com/" style="text-decoration: none; color: #374953;">PrestaShop™</a></td>
 </tr>

 

Esto es lo que tengo en el contact.txt

 

Estimado comerciante,

 

Ha recibido un mensaje de un cliente desde su tienda: {shop_name}

 

Nombre: {nombre}

 

Apellido: {apellido}

 

Teléfono Domicilio: {telefonoDom}

 

Móvil: {movil}

 

Dirección de E-mail del cliente: {email}

 

Cómo se enteró? {ref}

 

Mensaje:

 

{message}

 

y esto es lo que tengo en el ContactController.php en la linea 48

 

$message = Tools::getValue('message'); // Html entities is not usefull, iscleanHtml check there is no bad html tags.
  $nombre = Tools::getValue('nombre');
  $apellido = Tools::getValue('apellido');
  $telefonoDom = Tools::getValue('telefonoDom');
  $movil = Tools::getValue('movil');
  $ref = Tools::getValue('ref');

 

y en la linea 173 tengo esto:

 

$var_list = array(
	 '{order_name}' => '-',
	 '{attached_file}' => '-',
	 '{message}' => Tools::nl2br(stripslashes($message)),
	 '{email}' =>  Tools::nl2br(stripslashes($from)),
	 '{nombre}' => Tools::nl2br(stripslashes($nombre)),
	 '{apellido}' => Tools::nl2br(stripslashes($apellido)),
	 '{telefonoDom}' => Tools::nl2br(stripslashes($telefonoDom)),
	 '{movil}' => Tools::nl2br(stripslashes($movil)),
	 '{ref}' => Tools::nl2br(stripslashes($ref))
	);

 

Si alguien sabe algo sobre esto le agradezco por su valiosa colaboración

 

http://www.prestashop.com/forums/index.php?/topic/254982-como-anadir-campos-al-formulario-de-contacto-de-prestashop-14-y-prestashop-15/page__view__findpost__p__1269688

Share this post


Link to post
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More