Jump to content

error al enviar mensaje desde el formulario de contacto


jrsiles

Recommended Posts

Buenas, acabo de configurar el correo electronico y cuando intento enviar un mensaje desde contacta con nosotros me aparece.

 

Error 1

 

1. Se ha producido un error al enviar el mensaje.

 

Cuando realizo una prueba desde la configuracion del correro electronico de prestashop funciona correctamente. Pero desde la web recibo el mensaje en prestashop pero no llega al correo.

 

Espero vuestra ayuda. Muchas gracias.

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

Busco solución a estos 2 problemas (relacionados con lo que veo acá en este post)


 


1.- Cuando hago la prueba de enviar un correo a través de contacto aparece el bendito error "Error 1 Se produjo error al enviar el Correo Electronico" cuando recargo esa misma pagina aparece el letrerito verde de mensaje enviado...Sin embargo a pesar del error el mensaje llega correctamente a la atención de clientes incluso antes de recargar la pagina que es cuando aparece el letrero verde.  YO SOLO QUIERO QUITAR EL MENSAJE DE ERROR POR QUE FUNCIONA BIEN.


 


2.- El segundo problema es que cuando intento recuperar contraseña en el frontend me manda Error 404, cabe destacar que ya cambie la famosa ñ y no pasa nada...ademas no envia el dichoso correo con la contraseña para hacer el cambio etc...


 


La versión sobre la que trabajo es la 1.6.1.7 uso el tema default   


 


 


Ojala un alma piadosa pueda ayudarme gracias.


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

  • 1 month later...
  • 2 months later...

He solucionado el mismo error.

 

Primero intente actualizando el idioma como sugiere jrsiles, pero no funciono como esperaba.

 

El problema es que mi servidor por motivos de seguridad tiene desactivado el envio de correos mediante Mail PHP que es la opcion que veo tiene prestashop configurada por defecto. Tanto si se usa para enviar el formulario de contacto como para las funciones de la tienda no funcionara.

 

Asi que me he ido a Parametros Avanzados (prestashop ver. 1.7.0.4) y ahi hay una opcion que dice "correo electronico", ahi es donde se puede modificar la configuracion para los envios de mensajes desde la tienda por correo electronico, he quitado la opcion seleccionada que decia "Usar la función mail() de PHP. Recomendado en la mayoría de los casos" y he escogido la que pone: "Establecer mis propios parámetros SMTP. Sólo para usuarios AVANZADOS"

Se me han activado las opciones de configuracion SMTP (Por fin!!!!) y ya ahi solo fue configurar las opciones de envio tal y como lo haria al configurar mi cuenta en outlook, thunderbird o cualquier otro cliente de correo.

 

Una vez hecho esto todo comenzo a funcionar con normalidad.

Espero les sea util

Link to comment
Share on other sites

  • 7 months later...
  • 2 weeks later...
On 10/10/2017 at 5:14 PM, Alberto Navarro said:

Buenas, tengo este mismo problema con la versión 1.6.1.17.

 

¿Qué hay que hacer para solucionarlo sin actualizar las traducciones?, tengo mil cambios y adaptaciones hechos y no puedo perderlos.

 

Saludos y gracias.

 

Has podido solucionar el problema? me pasa lo mismo en la versión 1.6.1.7

Link to comment
Share on other sites

Hola a todos, a mi me pasa lo mismo, me da ese maldito error.

Tengo prestashop 1.6.1.17

He probado a cambiar los parámetros a Establecer mis propios parámetros SMTP , y no se soluciona, me sigue pasando lo mismo.

¿alguien sabe que puedo hacer?

Muchas gracias.

Link to comment
Share on other sites

Hola amigos, después de muchas lunas encontré la solución,  es un error en el archivo contact-form.tpl. 

Reemplacen el archivo tal esta y solucionará su error. Adjunto el archivo 

Espero haya sido de su ayuda.

contact-form.tpl

___________________________________________________________________________________________________________

{*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2016 PrestaShop SA
*  @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
{capture name=path}{l s='Contact'}{/capture}
<h1 class="page-heading bottom-indent">
    {l s='Customer service'} - {if isset($customerThread) && $customerThread}{l s='Your reply'}{else}{l s='Contact us'}{/if}
</h1>
{if isset($confirmation)}
    <p class="alert alert-success">{l s='Your message has been successfully sent to our team.'}</p>
    <ul class="footer_links clearfix">
        <li>
            <a class="btn btn-default button button-small" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}">
                <span>
                    <i class="icon-chevron-left"></i>{l s='Home'}
                </span>
            </a>
        </li>
    </ul>
{elseif isset($alreadySent)}
    <p class="alert alert-warning">{l s='Your message has already been sent.'}</p>
    <ul class="footer_links clearfix">
        <li>
            <a class="btn btn-default button button-small" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}">
                <span>
                    <i class="icon-chevron-left"></i>{l s='Home'}
                </span>
            </a>
        </li>
    </ul>
{else}
    {include file="$tpl_dir./errors.tpl"}
    <form action="{$request_uri}" method="post" class="contact-form-box" enctype="multipart/form-data">
        <fieldset>
            <h3 class="page-subheading">{l s='send a message'}</h3>
            <div class="clearfix">
                <div class="col-xs-12 col-md-3">
                    <div class="form-group selector1">
                        <label for="id_contact">{l s='Subject Heading'}</label>
                    {if isset($customerThread.id_contact) && $customerThread.id_contact && $contacts|count}
                            {assign var=flag value=true}
                            {foreach from=$contacts item=contact}
                                {if $contact.id_contact == $customerThread.id_contact}
                                    <input type="text" class="form-control" id="contact_name" name="contact_name" value="{$contact.name|escape:'html':'UTF-8'}" readonly="readonly" />
                                    <input type="hidden" name="id_contact" value="{$contact.id_contact|intval}" />
                                    {$flag=false}
                                {/if}
                            {/foreach}
                            {if $flag && isset($contacts.0.id_contact)}
                                    <input type="text" class="form-control" id="contact_name" name="contact_name" value="{$contacts.0.name|escape:'html':'UTF-8'}" readonly="readonly" />
                                    <input type="hidden" name="id_contact" value="{$contacts.0.id_contact|intval}" />
                            {/if}
                    </div>
                    {else}
                        <select id="id_contact" class="form-control" name="id_contact">
                            <option value="0">{l s='-- Choose --'}</option>
                            {foreach from=$contacts item=contact}
                                <option value="{$contact.id_contact|intval}"{if isset($smarty.request.id_contact) && $smarty.request.id_contact == $contact.id_contact} selected="selected"{/if}>{$contact.name|escape:'html':'UTF-8'}</option>
                            {/foreach}
                        </select>
                    </div>
                        <p id="desc_contact0" class="desc_contact{if isset($smarty.request.id_contact)} unvisible{/if}">&nbsp;</p>
                        {foreach from=$contacts item=contact}
                            <p id="desc_contact{$contact.id_contact|intval}" class="desc_contact contact-title{if !isset($smarty.request.id_contact) || $smarty.request.id_contact|intval != $contact.id_contact|intval} unvisible{/if}">
                                <i class="icon-comment-alt"></i>{$contact.description|escape:'html':'UTF-8'}
                            </p>
                        {/foreach}
                    {/if}
                    <p class="form-group">
                        <label for="email">{l s='Email address'}</label>
                        {if isset($customerThread.email)}
                            <input class="form-control grey" type="text" id="email" name="from" value="{$customerThread.email|escape:'html':'UTF-8'}" readonly="readonly" />
                        {else}
                            <input class="form-control grey validate" type="text" id="email" name="from" data-validate="isEmail" value="{$email|escape:'html':'UTF-8'}" />
                        {/if}
                    </p>
                    {if !$PS_CATALOG_MODE}
                        {if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}
                            <div class="form-group selector1">
                                <label>{l s='Order reference'}</label>
                                {if !isset($customerThread.id_order) && isset($is_logged) && $is_logged}
                                    <select name="id_order" class="form-control">
                                        <option value="0">{l s='-- Choose --'}</option>
                                        {foreach from=$orderList item=order}
                                            <option value="{$order.value|intval}"{if $order.selected|intval} selected="selected"{/if}>{$order.label|escape:'html':'UTF-8'}</option>
                                        {/foreach}
                                    </select>
                                {elseif !isset($customerThread.id_order) && empty($is_logged)}
                                    <input class="form-control grey" type="text" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order|intval > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order) && !empty($smarty.post.id_order)}{$smarty.post.id_order|escape:'html':'UTF-8'}{/if}{/if}" />
                                {elseif $customerThread.id_order|intval > 0}
                                    <input class="form-control grey" type="text" name="id_order" id="id_order" value="{if isset($customerThread.reference) && $customerThread.reference}{$customerThread.reference|escape:'html':'UTF-8'}{else}{$customerThread.id_order|intval}{/if}" readonly="readonly" />
                                {/if}
                            </div>
                        {/if}
                        {if isset($is_logged) && $is_logged}
                            <div class="form-group selector1">
                                <label class="unvisible">{l s='Product'}</label>
                                {if !isset($customerThread.id_product)}
                                    {foreach from=$orderedProductList key=id_order item=products name=products}
                                        <select name="id_product" id="{$id_order}_order_products" class="unvisible product_select form-control"{if !$smarty.foreach.products.first} style="display:none;"{/if}{if !$smarty.foreach.products.first} disabled="disabled"{/if}>
                                            <option value="0">{l s='-- Choose --'}</option>
                                            {foreach from=$products item=product}
                                                <option value="{$product.value|intval}">{$product.label|escape:'html':'UTF-8'}</option>
                                            {/foreach}
                                        </select>
                                    {/foreach}
                                {elseif $customerThread.id_product > 0}
                                    <input  type="hidden" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />
                                {/if}
                            </div>
                        {/if}
                    {/if}
                    {if $fileupload == 1}
                        <p class="form-group">
                            <label for="fileUpload">{l s='Attach File'}</label>
                            <input type="hidden" name="MAX_FILE_SIZE" value="{if isset($max_upload_size) && $max_upload_size}{$max_upload_size|intval}{else}2000000{/if}" />
                            <input type="file" name="fileUpload" id="fileUpload" class="form-control" />
                        </p>
                    {/if}
                </div>
                <div class="col-xs-12 col-md-9">
                    <div class="form-group">
                        <label for="message">{l s='Message'}</label>
                        <textarea class="form-control" id="message" name="message">{if isset($message)}{$message|escape:'html':'UTF-8'|stripslashes}{/if}</textarea>
                    </div>
                </div>
            </div>
            <div class="submit">
                <input type="text" name="url" value="" class="hidden" />
                <input type="hidden" name="contactKey" value="{$contactKey}" />
                <button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>
            </div>
        </fieldset>
    </form>
{/if}
{addJsDefL name='contact_fileDefaultHtml'}{l s='No file selected' js=1}{/addJsDefL}
{addJsDefL name='contact_fileButtonHtml'}{l s='Choose File' js=1}{/addJsDefL}

contact-form.tpl

  • Thanks 2
Link to comment
Share on other sites

12 minutes ago, omagallanes said:

Hola amigos, después de muchas lunas encontré la solución,  es un error en el archivo contact-form.tpl. 

Reemplacen el archivo tal esta y solucionará su error. Adjunto el archivo 

Espero haya sido de su ayuda.

contact-form.tpl

___________________________________________________________________________________________________________

{*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2016 PrestaShop SA
*  @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
{capture name=path}{l s='Contact'}{/capture}
<h1 class="page-heading bottom-indent">
    {l s='Customer service'} - {if isset($customerThread) && $customerThread}{l s='Your reply'}{else}{l s='Contact us'}{/if}
</h1>
{if isset($confirmation)}
    <p class="alert alert-success">{l s='Your message has been successfully sent to our team.'}</p>
    <ul class="footer_links clearfix">
        <li>
            <a class="btn btn-default button button-small" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}">
                <span>
                    <i class="icon-chevron-left"></i>{l s='Home'}
                </span>
            </a>
        </li>
    </ul>
{elseif isset($alreadySent)}
    <p class="alert alert-warning">{l s='Your message has already been sent.'}</p>
    <ul class="footer_links clearfix">
        <li>
            <a class="btn btn-default button button-small" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}">
                <span>
                    <i class="icon-chevron-left"></i>{l s='Home'}
                </span>
            </a>
        </li>
    </ul>
{else}
    {include file="$tpl_dir./errors.tpl"}
    <form action="{$request_uri}" method="post" class="contact-form-box" enctype="multipart/form-data">
        <fieldset>
            <h3 class="page-subheading">{l s='send a message'}</h3>
            <div class="clearfix">
                <div class="col-xs-12 col-md-3">
                    <div class="form-group selector1">
                        <label for="id_contact">{l s='Subject Heading'}</label>
                    {if isset($customerThread.id_contact) && $customerThread.id_contact && $contacts|count}
                            {assign var=flag value=true}
                            {foreach from=$contacts item=contact}
                                {if $contact.id_contact == $customerThread.id_contact}
                                    <input type="text" class="form-control" id="contact_name" name="contact_name" value="{$contact.name|escape:'html':'UTF-8'}" readonly="readonly" />
                                    <input type="hidden" name="id_contact" value="{$contact.id_contact|intval}" />
                                    {$flag=false}
                                {/if}
                            {/foreach}
                            {if $flag && isset($contacts.0.id_contact)}
                                    <input type="text" class="form-control" id="contact_name" name="contact_name" value="{$contacts.0.name|escape:'html':'UTF-8'}" readonly="readonly" />
                                    <input type="hidden" name="id_contact" value="{$contacts.0.id_contact|intval}" />
                            {/if}
                    </div>
                    {else}
                        <select id="id_contact" class="form-control" name="id_contact">
                            <option value="0">{l s='-- Choose --'}</option>
                            {foreach from=$contacts item=contact}
                                <option value="{$contact.id_contact|intval}"{if isset($smarty.request.id_contact) && $smarty.request.id_contact == $contact.id_contact} selected="selected"{/if}>{$contact.name|escape:'html':'UTF-8'}</option>
                            {/foreach}
                        </select>
                    </div>
                        <p id="desc_contact0" class="desc_contact{if isset($smarty.request.id_contact)} unvisible{/if}">&nbsp;</p>
                        {foreach from=$contacts item=contact}
                            <p id="desc_contact{$contact.id_contact|intval}" class="desc_contact contact-title{if !isset($smarty.request.id_contact) || $smarty.request.id_contact|intval != $contact.id_contact|intval} unvisible{/if}">
                                <i class="icon-comment-alt"></i>{$contact.description|escape:'html':'UTF-8'}
                            </p>
                        {/foreach}
                    {/if}
                    <p class="form-group">
                        <label for="email">{l s='Email address'}</label>
                        {if isset($customerThread.email)}
                            <input class="form-control grey" type="text" id="email" name="from" value="{$customerThread.email|escape:'html':'UTF-8'}" readonly="readonly" />
                        {else}
                            <input class="form-control grey validate" type="text" id="email" name="from" data-validate="isEmail" value="{$email|escape:'html':'UTF-8'}" />
                        {/if}
                    </p>
                    {if !$PS_CATALOG_MODE}
                        {if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}
                            <div class="form-group selector1">
                                <label>{l s='Order reference'}</label>
                                {if !isset($customerThread.id_order) && isset($is_logged) && $is_logged}
                                    <select name="id_order" class="form-control">
                                        <option value="0">{l s='-- Choose --'}</option>
                                        {foreach from=$orderList item=order}
                                            <option value="{$order.value|intval}"{if $order.selected|intval} selected="selected"{/if}>{$order.label|escape:'html':'UTF-8'}</option>
                                        {/foreach}
                                    </select>
                                {elseif !isset($customerThread.id_order) && empty($is_logged)}
                                    <input class="form-control grey" type="text" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order|intval > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order) && !empty($smarty.post.id_order)}{$smarty.post.id_order|escape:'html':'UTF-8'}{/if}{/if}" />
                                {elseif $customerThread.id_order|intval > 0}
                                    <input class="form-control grey" type="text" name="id_order" id="id_order" value="{if isset($customerThread.reference) && $customerThread.reference}{$customerThread.reference|escape:'html':'UTF-8'}{else}{$customerThread.id_order|intval}{/if}" readonly="readonly" />
                                {/if}
                            </div>
                        {/if}
                        {if isset($is_logged) && $is_logged}
                            <div class="form-group selector1">
                                <label class="unvisible">{l s='Product'}</label>
                                {if !isset($customerThread.id_product)}
                                    {foreach from=$orderedProductList key=id_order item=products name=products}
                                        <select name="id_product" id="{$id_order}_order_products" class="unvisible product_select form-control"{if !$smarty.foreach.products.first} style="display:none;"{/if}{if !$smarty.foreach.products.first} disabled="disabled"{/if}>
                                            <option value="0">{l s='-- Choose --'}</option>
                                            {foreach from=$products item=product}
                                                <option value="{$product.value|intval}">{$product.label|escape:'html':'UTF-8'}</option>
                                            {/foreach}
                                        </select>
                                    {/foreach}
                                {elseif $customerThread.id_product > 0}
                                    <input  type="hidden" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />
                                {/if}
                            </div>
                        {/if}
                    {/if}
                    {if $fileupload == 1}
                        <p class="form-group">
                            <label for="fileUpload">{l s='Attach File'}</label>
                            <input type="hidden" name="MAX_FILE_SIZE" value="{if isset($max_upload_size) && $max_upload_size}{$max_upload_size|intval}{else}2000000{/if}" />
                            <input type="file" name="fileUpload" id="fileUpload" class="form-control" />
                        </p>
                    {/if}
                </div>
                <div class="col-xs-12 col-md-9">
                    <div class="form-group">
                        <label for="message">{l s='Message'}</label>
                        <textarea class="form-control" id="message" name="message">{if isset($message)}{$message|escape:'html':'UTF-8'|stripslashes}{/if}</textarea>
                    </div>
                </div>
            </div>
            <div class="submit">
                <input type="text" name="url" value="" class="hidden" />
                <input type="hidden" name="contactKey" value="{$contactKey}" />
                <button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>
            </div>
        </fieldset>
    </form>
{/if}
{addJsDefL name='contact_fileDefaultHtml'}{l s='No file selected' js=1}{/addJsDefL}
{addJsDefL name='contact_fileButtonHtml'}{l s='Choose File' js=1}{/addJsDefL}

contact-form.tpl

Disculpa, soy muy novato en esto, me podrías explicar como lo tengo que reemplazar?

 

Un saludo

Link to comment
Share on other sites

  • 2 weeks later...

Exactamente en que punto del código está el error?? Yo tengo mi archivo bastante modificado y no quiero repisar todo. Gracias!

 

Vale no he dicho nada. Son estas dos lineas que van encima del button:

 

<input type="text" name="url" value="" class="hidden" />
<input type="hidden" name="contactKey" value="{$contactKey}" />

 

Yo la verdad que no entiendo como pueden haber estos fallos...

Un saludo! y muchas gracias!

Edited by [email protected] (see edit history)
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...
On 26/10/2017 at 7:46 PM, toyx4u said:

Hola a todos, a mi me pasa lo mismo, me da ese maldito error.

Tengo prestashop 1.6.1.17

He probado a cambiar los parámetros a Establecer mis propios parámetros SMTP , y no se soluciona, me sigue pasando lo mismo.

¿alguien sabe que puedo hacer?

Muchas gracias.

Yo también tengo ese error.

Ha actualizado los archivos, los idiomas, probado con SMTP y nada ha funcionado

¿Alguna otra solución?

Link to comment
Share on other sites

On 1/12/2017 at 1:33 PM, Markillos306 said:

Yo también tengo ese error.

Ha actualizado los archivos, los idiomas, probado con SMTP y nada ha funcionado

¿Alguna otra solución?

yo lo solucioné reemplazando el archivo de formulario que dice más arriba.

Este es el enlace del archivo que descargué y está más arriba.

https://www.prestashop.com/forums/applications/core/interface/file/attachment.php?id=171538

Link to comment
Share on other sites

  • 2 months later...

Solucionado en PS 1.6.1.18, hice upgrade desde 1.6.1.16 a la 1.6.1.18, y repentinamente el formulario de contacto no funcionaba en ningún idioma, sin mostrar más errores que el que se comenta aquí, pero no salía nada en modo debug. 

Tal y como dice [email protected] se han de añadir esas líneas de código (los inputs) encima del button en el contact-form.tpl de tu tema, quedando así:

<div class="submit">
                <input type="text" name="url" value="" class="hidden" />
                <input type="hidden" name="contactKey" value="{$contactKey}" />

                <button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>

 </div>

No es necesario actualizar idiomas, ni sobreescribir ficheros enteros.

A la pregunta de pardebits, que dice "no entiendo cómo puede pasar esto", yo se lo explico:

Actualizas PS  a nueva versión, pero no actualizas el tema por defecto o usas otro tema que no se actualiza con el 1-click upgrade, por lo tanto, en la actulización de PS ha cambiando un controlador del núcleo (ContactController.php), el cual tiene nueva funcionalidad, que no está reflejada en el contact-form.tpl de tu tema, por lo tanto, falla. Normal.

Si quieres evitar que pase esto, debes mirar el changelog de la nueva versión de PS que va a instalar, y/o usar los overrides para mantener la funcionalidad antigua o personalizada de tus classes y controllers, sinó te la juegas a que falle algo. Desde luego esto no es culpa de PS.

Gracias por la solución Pardebits!!

  • Thanks 2
Link to comment
Share on other sites

  • 2 weeks later...
On 16/2/2018 at 1:12 PM, cespues said:

Solucionado en PS 1.6.1.18, hice upgrade desde 1.6.1.16 a la 1.6.1.18, y repentinamente el formulario de contacto no funcionaba en ningún idioma, sin mostrar más errores que el que se comenta aquí, pero no salía nada en modo debug. 

Tal y como dice [email protected] se han de añadir esas líneas de código (los inputs) encima del button en el contact-form.tpl de tu tema, quedando así:

<div class="submit">
                <input type="text" name="url" value="" class="hidden" />
                <input type="hidden" name="contactKey" value="{$contactKey}" />

                <button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>

 </div>

No es necesario actualizar idiomas, ni sobreescribir ficheros enteros.

A la pregunta de pardebits, que dice "no entiendo cómo puede pasar esto", yo se lo explico:

Actualizas PS  a nueva versión, pero no actualizas el tema por defecto o usas otro tema que no se actualiza con el 1-click upgrade, por lo tanto, en la actulización de PS ha cambiando un controlador del núcleo (ContactController.php), el cual tiene nueva funcionalidad, que no está reflejada en el contact-form.tpl de tu tema, por lo tanto, falla. Normal.

Si quieres evitar que pase esto, debes mirar el changelog de la nueva versión de PS que va a instalar, y/o usar los overrides para mantener la funcionalidad antigua o personalizada de tus classes y controllers, sinó te la juegas a que falle algo. Desde luego esto no es culpa de PS.

Gracias por la solución Pardebits!!

Buenos dias. Por favor para no expertos, me podrias dar la ruta del archivo contact-form.tpl y dond eexactamente hay que hacer el cambio por el codigo que comentas?. Mil gracias,..

Link to comment
Share on other sites

  • 2 months later...

A mi se me ha solucionado añadiendo las dos siguiente lineas encima del button submit, que està en el final del archivo contact-form.tpl.

 

ESTO ES EL FINAL DEL ARCHIVO contact-form.tpl

            <div class="submit">
                <input type="text" name="url" value="" class="hidden" />
                <input type="hidden" name="contactKey" value="{$contactKey}" />

                <button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>
            </div>
        </fieldset>
    </form>
{/if}
{addJsDefL name='contact_fileDefaultHtml'}{l s='No file selected' js=1}{/addJsDefL}
{addJsDefL name='contact_fileButtonHtml'}{l s='Choose File' js=1}{/addJsDefL}
 

gracias a todos.

David

Link to comment
Share on other sites

  • 1 month later...
12 hours ago, Rodrigo said:

Cordial saludo, tengo la versión 1.6.1.18.

Ya hice todos los cambios que explican en los mensajes de arriba, pero nada, el error sigue apareciendo.

Existe alguna otra solución?

 

Si has modificado la plantilla, mira que no tengas la caché activada y no estés viendo el cambio.

Link to comment
Share on other sites

En mi caso con un prestashop 1.7.4 el problema estaba en la plantilla que estaba mal.

La solución fue mirar en la plantilla original y justo parece algo similar a lo que habéis puesto, pero no es exactamente igual. El caso es que se lo he añadido y funciona. 

Así que una solución, si estáis usando una plantilla es comprobar la plantilla inicial (en mi caso classic) con la instalada y ver si encima del botón submit tiene el código que comentais.

 

Todo esto gracias a cespues que me ha iluminado con su explicación.

 

Muchas gracias!

Link to comment
Share on other sites

  • 3 months later...

Para los que usan version 1.7.4.2

1.- si aparece el error  Se ha producido un error al enviar el mensaje.

Hay que revisar en  /themes/tu tema en uso/modules/contactform/views/templates/widget/contactform.tpl  e insertar justo antes de <input class="btn btn-primary" type="submit" name="submitMessage" value="{l s='Send' d='Shop.Theme.Actions'}"> el siguiente código:

<!-- correccion  -->
        <style>
        input[name=url] {
        display: none !important;
        }
        </style>
        <input type="text" name="url" value=""/>
        <input type="hidden" name="token" value="{$token}" />
  <!-- -->

2.- En el backend en módulos buscar form y configurar módulo formulario de contacto para que envíe confirmación si lo deseas y te envié el mensaje al email si quieres. Si no se configura esto los emails no se envian y solo aparecen en el apartado servicio al cliente.

Espero que ayude, así es como a mi me ha funcionado después de darle muchas vueltas...

 

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...
On 27/9/2018 at 6:24 PM, Chicho1969 said:

Para los que usan version 1.7.4.2

1.- si aparece el error  Se ha producido un error al enviar el mensaje.

Hay que revisar en  /themes/tu tema en uso/modules/contactform/views/templates/widget/contactform.tpl  e insertar justo antes de <input class="btn btn-primary" type="submit" name="submitMessage" value="{l s='Send' d='Shop.Theme.Actions'}"> el siguiente código:

<!-- correccion  -->
        <style>
        input[name=url] {
        display: none !important;
        }
        </style>
        <input type="text" name="url" value=""/>
        <input type="hidden" name="token" value="{$token}" />
  <!-- -->

2.- En el backend en módulos buscar form y configurar módulo formulario de contacto para que envíe confirmación si lo deseas y te envié el mensaje al email si quieres. Si no se configura esto los emails no se envian y solo aparecen en el apartado servicio al cliente.

Espero que ayude, así es como a mi me ha funcionado después de darle muchas vueltas...

 

Solucionado con ese pedacito de código en PS 1.7.3.3. Gracias

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...
On 12/18/2018 at 11:57 AM, MomoFito said:

Solucionado para la versión 1.7.4.4 Gracias!

La de vueltas que he dado y lo fácil que era. :P

tengo la misma version, he puesto el codigo en el archivo del template que uso, y no hay manera. Solo me funciona si borro el archivo, pero no se ve igual de bonito.Si alguien tiene alguna idea seria de gran ayuda.

Link to comment
Share on other sites

  • 3 weeks later...
On 9/27/2018 at 6:24 PM, Chicho1969 said:

Para los que usan version 1.7.4.2

1.- si aparece el error  Se ha producido un error al enviar el mensaje.

Hay que revisar en  /themes/tu tema en uso/modules/contactform/views/templates/widget/contactform.tpl  e insertar justo antes de <input class="btn btn-primary" type="submit" name="submitMessage" value="{l s='Send' d='Shop.Theme.Actions'}"> el siguiente código:

<!-- correccion  -->
        <style>
        input[name=url] {
        display: none !important;
        }
        </style>
        <input type="text" name="url" value=""/>
        <input type="hidden" name="token" value="{$token}" />
  <!-- -->

2.- En el backend en módulos buscar form y configurar módulo formulario de contacto para que envíe confirmación si lo deseas y te envié el mensaje al email si quieres. Si no se configura esto los emails no se envian y solo aparecen en el apartado servicio al cliente.

Espero que ayude, así es como a mi me ha funcionado después de darle muchas vueltas...

 

Muchas gracias! Mirando código y haciendo pruebas, cuando era darle al botón ... 😅

En Prestashop 1.7.5.1 hay que ir a Módulos > Modules Manager > "contactform"  y marcar en > "Recibir los mensajes de los clientes por correo electrónico"

contactform.jpg

Edited by ecommjuice.com (see edit history)
Link to comment
Share on other sites

  • 9 months later...
  • 2 months later...
On 2/16/2018 at 1:12 PM, cespues said:

Solucionado en PS 1.6.1.18, hice upgrade desde 1.6.1.16 a la 1.6.1.18, y repentinamente el formulario de contacto no funcionaba en ningún idioma, sin mostrar más errores que el que se comenta aquí, pero no salía nada en modo debug. 

Tal y como dice [email protected] se han de añadir esas líneas de código (los inputs) encima del button en el contact-form.tpl de tu tema, quedando así:

<div class="submit">
                <input type="text" name="url" value="" class="hidden" />
                <input type="hidden" name="contactKey" value="{$contactKey}" />

                <button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>

 </div>

No es necesario actualizar idiomas, ni sobreescribir ficheros enteros.

A la pregunta de pardebits, que dice "no entiendo cómo puede pasar esto", yo se lo explico:

Actualizas PS  a nueva versión, pero no actualizas el tema por defecto o usas otro tema que no se actualiza con el 1-click upgrade, por lo tanto, en la actulización de PS ha cambiando un controlador del núcleo (ContactController.php), el cual tiene nueva funcionalidad, que no está reflejada en el contact-form.tpl de tu tema, por lo tanto, falla. Normal.

Si quieres evitar que pase esto, debes mirar el changelog de la nueva versión de PS que va a instalar, y/o usar los overrides para mantener la funcionalidad antigua o personalizada de tus classes y controllers, sinó te la juegas a que falle algo. Desde luego esto no es culpa de PS.

Gracias por la solución Pardebits!!

Tenia el mismo problema. Solucionado en 1 minuto añadiento el código. Muchas gracias por el aporte 

Link to comment
Share on other sites

  • 3 years later...

Yo tengo su mismo error pero yo tengo el prestashop 8.1.0 y me da ese error pero no lo puedo solucionar cambiando ese codigo ya que es distinta la sintaxis en esta version no me funciona laguien que lo haya solucionado en la version 8.1 que me ayude porfa 

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