deepxfan Posted February 17, 2015 Share Posted February 17, 2015 (edited) Bonjour à la communauté, Je viens demander votre aide sur ce sujet, qui après nombreuses recherches et lecture du code me résiste toujours! Lorsqu'un client laisse un message qui accompagne la commande, ce message est affiché dans le mail "new_order.html" envoyé par le module mailalert. Problème : les retours à la ligne ne sont pas pris en compte et le message est souvent compliqué à lire pour les préparateurs de commande. J'ai premièrement vérifié dans la table "ps_message" via phpmyadmin et les retours à la ligne sont bien présents. Ensuite, j'ai été dans modules/mailalerts/mailalerts.php et je lis ceci : public function getAllMessages($id) { $messages = Db::getInstance()->executeS(' SELECT `message` FROM `'._DB_PREFIX_.'message` WHERE `id_order` = '.(int)$id.' ORDER BY `id_message` ASC'); $result = array(); foreach ($messages as $message) $result[] = $message['message']; return implode('<br/>', $result); } La fonction implode('<br/>', $result) devrait donc mettre un espace entre chaque message. (je ne vois d'ailleurs pas l'utilité, puisqu'on ne peut écrire qu'un seul message avec la commande...). J'ai donc modifié la ligne 226 : public function getAllMessages($id) { $messages = Db::getInstance()->executeS(' SELECT `message` FROM `'._DB_PREFIX_.'message` WHERE `id_order` = '.(int)$id.' ORDER BY `id_message` ASC'); $result = array(); foreach ($messages as $message) $result[] = nl2br($message['message']); return implode('<br/>', $result); } Vu que php fait appel à la table, il récupère également les retours à la ligne. Normalement, avec la fonction nl2br, il devrait les convertir en <br/>. Et bien rien à faire!! Les messages dans le mail "new_order.html" n'ont toujours pas de retour à la ligne... J'ai même essayé de créer un plugin smarty nl2br et d'appeler ce plugin directement dans "new_order.html" comm e ceci : <td width="10" style="padding:7px 0"> </td> <td style="padding:7px 0"> <font size="2" face="Open-sans, sans-serif" color="#555454"> <p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px"> INFORMATIONS : </p> <span style="color:red; font-size: 20px;"> {message|nl2br} </span> </font> </td> Ce qui a pour résultat d'afficher "{message|nl2br}" dans le mail au lieu du message laissé par le client... Quelqu'un aurait-il la solution? Ou tout du moins un début? Une piste? Merci d'avance à vous tous et bonne journée! Edited February 17, 2015 by deepxfan (see edit history) Link to comment Share on other sites More sharing options...
deepxfan Posted February 24, 2015 Author Share Posted February 24, 2015 Up! Personne n'a de solution? Link to comment Share on other sites More sharing options...
deepxfan Posted March 5, 2015 Author Share Posted March 5, 2015 Up!!! J'ai vraiment besoin de réponse. Quelqu'un pour m'aider? Link to comment Share on other sites More sharing options...
doekia Posted March 5, 2015 Share Posted March 5, 2015 Premièrement quelle version Prestashop utilises-tu? Deuxièmement quelle version du module utilises-tu? Troisièmement les mails ne sont pas gérés par smarty mais par le décorateur de SwiftMail dans ton cas Donc dans mailalerts.php à une ligne que tu devra trouver par toi même, il y a écrit: '{message}' => $message remplace par '{message}' => Tools::nl2br($message) Je te conseille d'enlever tes modifs également elle ne servent à rien Link to comment Share on other sites More sharing options...
deepxfan Posted March 5, 2015 Author Share Posted March 5, 2015 Bonjour doekia et merci de ta réponse. Prestashop 1.6.0.9 Version module : v3.4.9 J'ai bien essayé ce que tu me suggères de faire, et ça crée un espace au lieu d'un break... Une idée? Merci d'avance 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