letty Posted October 1, 2012 Share Posted October 1, 2012 Bonjour, j'ai intégrer à chaque fiche produit le formulaire de contact du fichier contact-form.tpl or s'il fonctionne bien sur la page de contact normale, sur la fiche produit impossible d'envoyer un message. {if isset($confirmation)} <p>{l s='Your message has been successfully sent to our team.'}</p> <ul class="footer_links"> <li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li> </ul> {elseif isset($alreadySent)} <p>{l s='Your message has already been sent.'}</p> <ul class="footer_links"> <li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li> </ul> {else} <form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std2" enctype="multipart/form-data"> <input name="id_contact" type="hidden" value="1" /> <p class="text"> <label for="email">E-mail</label> {if isset($customerThread.email)} <input type="text" id="email" name="from" value="{$customerThread.email}" readonly="readonly" /> {else} <input type="text" id="email" name="from" value="{$email}" /> {/if} </p> <p class="text"> <label for="Nom">Nom</label> <input type="text" id="nom" name="from" value="{$nom}" /> </p> <p class="textarea"> <label for="message">{l s='Message'}</label> <textarea id="message" name="message" rows="3" cols="10" style="width:340px;height:220px">{if isset($message)}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea> </p> <p class="submit"> <input type="submit" name="submitMessage" id="submitMessage" value="Envoyer votre message" class="button_large3" onclick="$(this).hide();" /> </p> </form> {/if} Je ne vois pas d'où le problème peut venir car le code est le même. Merci pour vos retours Link to comment Share on other sites More sharing options...
letty Posted October 4, 2012 Author Share Posted October 4, 2012 Suite des événements et là j'ai vraiment besoin qu'on me dise si je suis sur la bonne piste ou pas J'ai intégré dans le controller : ProductController.php le code de récupération et d'envoie simple de mon petit formulaire : Formulaire dans product.tpl <form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std2"> <input name="id_contact" type="hidden" value="1" /> <label for="email">E-mail</label> <input type="text" id="email" name="from" value="{$email}" /> <label for="Nom">Nom</label> <input type="text" id="nom" name="from" value="{$nom}" /> <label for="message">{l s='Message'}</label> <textarea id="message" name="message" rows="3" cols="10" style="width:340px;height:220px">{if isset($message)}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea> <input type="submit" name="submitMessage" id="submitMessage" value="Envoyer votre message" class="button_large3" onclick="$(this).hide();" /> </form> Dans ProductController.php public function process() if (Tools::isSubmit('submitMessage')) { $message = Tools::htmlentitiesUTF8(Tools::getValue('message')); if (!($from = trim(Tools::getValue('from'))) OR !Validate::isEmail($from)) $this->errors[] = Tools::displayError('Invalid e-mail address'); elseif (!($message = nl2br2($message))) $this->errors[] = Tools::displayError('Message cannot be blank'); elseif (!Validate::isCleanHtml($message)) $this->errors[] = Tools::displayError('Invalid message'); elseif (!($id_contact = (int)(Tools::getValue('id_contact'))) OR !(Validate::isLoadedObject($contact = new Contact((int)($id_contact), (int)(self::$cookie->id_lang))))) $this->errors[] = Tools::displayError('Please select a subject on the list.'); } if (!empty($contact->email)) { if (Mail::Send((int)self::$cookie->id_lang, 'contact', Mail::l('Message from contact form', (int)self::$cookie->id_lang), array('{email}' => $from, '{message}' => stripslashes($message)), $contact->email, $contact->name, $from) AND Mail::Send((int)self::$cookie->id_lang, 'contact_form', Mail::l('Your message has been correctly sent', (int)self::$cookie->id_lang), array('{message}' => stripslashes($message)), $from)) self::$smarty->assign('confirmation', 1); else $this->errors[] = Tools::displayError('An error occurred while sending message.'); } Ai-je loupé une étape car à l'envoie le formulaire me marque un message d'erreur "Email Invalide" ? Merci de vos réponses Link to comment Share on other sites More sharing options...
Arnaud Drieux Posted January 31, 2013 Share Posted January 31, 2013 Bonjour, je crois que j'ai utilisé le même code que toi et parcontre ça me fait page blanche et pas de message d'erreur. Donc je met un UP Link to comment Share on other sites More sharing options...
franckm1000 Posted January 31, 2013 Share Posted January 31, 2013 Mets le display erreor à on dans le fichier config.inc pour voir l'erreur Link to comment Share on other sites More sharing options...
Arnaud Drieux Posted January 31, 2013 Share Posted January 31, 2013 (edited) Alors bizarre, ça a changé et ça m'affiche aussi : "une erreur s'est produite pendant l'envoi du message" Et pourtant le display error est sur on... et aucune erreur marquée Edited January 31, 2013 by arnaud1900 (see edit history) Link to comment Share on other sites More sharing options...
Arnaud Drieux Posted January 31, 2013 Share Posted January 31, 2013 En fait le message d'erreur vient de la deuxième partie du code dans le Product Controller. En sachant que "contactP" c'est le nom de mon fichier html et txt. J'arrive pas à voir ce qui cloche if (!empty($contact->email)) { if (Mail::Send((int)self::$cookie->id_lang, 'contactP', Mail::l('Message from contact form', (int)self::$cookie->id_lang), array('{email}' => $from, '{message}' => stripslashes($message), '{nom}' => $nom), $contact->email, $contact->name, $from) AND Mail::Send((int)self::$cookie->id_lang, 'contact_form', Mail::l('Your message has been correctly sent', (int)self::$cookie->id_lang), array('{message}' => stripslashes($message)), $from)) self::$smarty->assign('confirmation', 1); else $this->errors[] = Tools::displayError('An error occurred while sending message.'); } Link to comment Share on other sites More sharing options...
franckm1000 Posted January 31, 2013 Share Posted January 31, 2013 Oui mais quelle erreur s'affiche exactement ? Link to comment Share on other sites More sharing options...
Arnaud Drieux Posted January 31, 2013 Share Posted January 31, 2013 Celui là : 'An error occurred while sending message.' soit "Une erreur s'est produite pendant l'envoi du message" en français. Link to comment Share on other sites More sharing options...
franckm1000 Posted January 31, 2013 Share Posted January 31, 2013 Ca veut sire que les deux conditions du If ne sont pas réunies puisque c'est le else qui passe. Si les conditions ne marchent pas, c'est que la méthode send à renvoyée false et qu'il y a une erreur dans le traitement de mail. Après, pourquoi, difficile à dire sans voir tout le code. Est-tu sûr de tes templates et de leur emplacement... ? Link to comment Share on other sites More sharing options...
Arnaud Drieux Posted February 1, 2013 Share Posted February 1, 2013 C'est à dire que j'avais trouvé ce code, et peut-être que letty s'en est servie aussi http://yume-design.com/Un-formulaire-de-contact-dans-la Link to comment Share on other sites More sharing options...
Maice Posted May 1, 2013 Share Posted May 1, 2013 Salut ! Même problème pour moi, une page blanche quand je ne met pas les errors sur "on"... Quelqu'un à trouvé la solution ? 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