emily_d Posted July 5, 2013 Share Posted July 5, 2013 (edited) Problème : Lorsque l'on écrit à un client depuis la page commande (AdminOrdersController.php) ou le SAV (AdminCustomerThreads), et que la boutique envoie ses emails en text/plain et pas en HTML, le contenu du message -- et pas le template -- voit ses caractères accentués convertis en entités html (eg.Un problème nous empêch) Deux solutions Overrider les postProcess des deux controllers en supprimant htmlentities pour les emails plain/text. Pour AdminOrdersController cela donnera /* Fix html entites in plain text email */ if (Configuration::get('PS_MAIL_TYPE', null, null, $order->id_shop) == Mail::TYPE_TEXT || Configuration::get('PS_MAIL_TYPE', null, null, $order->id_shop) == Mail::TYPE_BOTH) $customer_message->message = strip_tags(Tools::getValue('message')); else $customer_message->message = htmlentities(Tools::getValue('message'), ENT_COMPAT, 'UTF-8'); Soit directement dans la classe Mail, en fonction du template appliquer html_entity_decode sur la variable $template_vars['{message}']; Cette solution est peut-être moins propre mais elle a l'avantage de limiter les overrides des controllers surtout si cette classe est déjà overridée. Cela donnera quelque chose comme ça : // Do this before $template is modified if($template == 'order_merchant_comment') $template_vars['{message}'] = strip_tags(html_entity_decode($template_vars['{message}'],ENT_COMPAT,"UTF-8")); else if($template == 'reply_msg') { // br to new line : http://stackoverflow.com/questions/2436145/br2nl-replace-all-xhtml-html-line-breaks-with-newlines-in-php $template_vars['{reply}'] = preg_replace('#<br\s*/?>#i', "\r\n", $template_vars['{reply}']); } Edit En fait le problème ne se présente pas dans AdminCustomerThreads car au lieu de htmlentities on trouve Tools::htmlentitiesutf8. Par contre les nouvelles lignes sont remplacées par <br />, il faudra donc quand même modifier AdminCustomerThreads dans la première solution. Dans la deuxième, on peut faire un preg_ireplace sur <br />. Edited July 5, 2013 by emily_d (see edit history) Link to comment Share on other sites More sharing options...
Mackens Posted November 2, 2013 Share Posted November 2, 2013 Bonjour et merci pour ce post. Ne sachant pas tres bien sans guidage pas a pas modifier les fichiers, n existe t il pas depuis une solution plus facile a integrer ? Je suis en versiond1.5.6 et mes messages sav sont aussi en plain text Link to comment Share on other sites More sharing options...
Gregory Roussac Posted November 4, 2013 Share Posted November 4, 2013 Bonjour, Il y a eu plusieurs commit la dessus. Normalement dans la prochaine version c'est harmonisé. https://github.com/PrestaShop/PrestaShop/commit/db4b69d10c20e6fe6bbdfe5f08556cb57eeb2415 https://github.com/PrestaShop/PrestaShop/commit/d9bc07d03053916f1ff4a74815bc0f58480ef0fc https://github.com/PrestaShop/PrestaShop/commit/0f9c81a6831a2c9f615c6c3aff7b595364a7278 Cordialement 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