Jump to content

Problème de caractères dans les email (encodage et code html apparents)


Recommended Posts

Bonjour,

 

La partie message des emails (celle ou l'on retrouve le message du client) laisse apparaitre du code html (<br>) et des codes de caractères spéciaux &quote; ....

 

A priori, il faut un doctorat en Prestashop pour trouver un début de commencement de piste sans tout casser dans le core.

 

Je fais donc appel aux Grands Sorciers Prestashop pour éclairer notre chemin.

 

Voici un exemple et quelques infos comp :

"

Vous avez reçu un message de la part d'un client depuis votre boutique

Adresse électronique : [email protected]

Message :

Bonjour,<br /><br />J'envisage d& #039;acheter de la "Laque Satinée "<br />teintée mais je souhaiterais avant tout m'assurer de la teinte & agrave; choisir.<br /><br />...

"

Notre config

Prestashop 1.4.9

LAMP latest version

Ubuntu on OVH VPS

SMTP or Sendmail

Edited by Muche
Grands sorciers Prestashop ! (superflu) (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Essayes de faire la mise à jour de Prestashop vers 1.4.10.0 qui est stable, en incluant la mise à jour des emails.

 

Ensuite, si tu as encore des problèmes, il existe un module gratuit "Mail Template Editor v1.1" suivre le lien

 

http://www.prestatools.com/module-addons-prestashop/mail-template-editor

 

Avec ce module, tu peux corriger le texte, le changer, le compléter, etc.

 

A+

Link to comment
Share on other sites

Re Bonjour Gakoo.com,

 

Au fait, il y a aussi l'onglet "Outils/Traductions" puis menu déroulant dans "Modifier les traductions" on choisi "Traductions mails", et là on a à sa disposition tous les contenus de mails en html et en txt pour leur modification.

 

A+

Link to comment
Share on other sites

En fait les templates email français fonctionnent bien. Pas de problème d'encodage dans la première partie de l'email.

 

C'est juste la zone appelée message (ou commentaire) laissé par les clients.

Message :

Bonjour,<br /><br />J'envisage d& #039;acheter de la "Laque Satinée "<br />teintée mais je souhaiterais avant tout m'assurer de la teinte & agrave; choisir.<br /><br />...

 

Peut être sais tu ou on peut configurer ou changer le traitement de cette partie du message.

Link to comment
Share on other sites

C'est bien dans la messagerie.

 

Le corps de l'email contient

  • une première partie (issue du template mail) qui est ok. Pas de problème de code. impec.
  • une seconde partie présentant le message laissé par le client. Et la de retours chariot html <br> et des entités html (J'envisage) ne sont pas interprétés.

Link to comment
Share on other sites

Re,

 

Est-ce que tu utilises la fonction php pour l'envoi de tes mails dans l'onglet "Préférences/Emails" ou SMTP configuré perso.

 

Les fichiers html et txt des mails sont dans le répertoire "/mails/fr" sous racine.

 

Par contre, une question me vient à l'esprit : As-tu désactivé ou supprimé l'anglais de ton site ?

 

J'ai lu quelque part sur le forum, que le logiciel fonctionnait avec l'anglais, et traduisait ensuite les actions dans la langue par défaut choisie dans l'onglet "Préférences"

 

Cette personne avait un problème avec sa base SQL du fait d'avoir désactivé l'anglais. Je ne sais pas si cela à une incidence sur ton problème, qui sait ? <_<

 

A+

Link to comment
Share on other sites

  • 4 weeks later...

Merci jhb13 pour ton aide. On a trouvé une autre piste interessante chez Webdigit, un agence Belge qui a posté un workaround en mars dernier. Merci à lui. On teste aujourd'hui et on vous tiens au courant.

 

En gros ca dit :

 

DEBUG :

Nous allons modifier 1 seul fichier. Il s’agit du controller qui gère les threads du SAV : AdminCustomerThreadsController.php (/lenomdevotrebackoffice/controllers/admin/AdminCustomerThreadsController.php)

Nous avons ceci à la ligne 577 :

$message['message'] = preg_replace(

'/(https?:\/\/[a-z0-9#%&_=\(\)\.\? \+\-@\/]{6,1000})([\s\n<])/Uui',

'<a href="\1">\1</a>\2',

html_entity_decode($message['message'],

ENT_NOQUOTES, 'UTF-8')

);

Le souci vient de l’expression régulière qui sert à transformer les url en vrais liens… On va pouvoir s’en passer, non ?

Voici par quoi je l’ai remplacé :

$message['message'] = html_entity_decode($message['message'],ENT_QUOTES,'UTF-8');

J’ai simplement enlevé la réécriture des urls en lien (et au passage laisser les simple et doubles guillemets)

Au final vous aurez ceci (en commentant les premières lignes) :

/*$message['message'] = preg_replace(

'/(https?:\/\/[a-z0-9#%&_=\(\)\.\? \+\-@\/]{6,1000})([\s\n<])/Uui',

'<a href="\1">\1</a>\2',

html_entity_decode($message['message'],

ENT_NOQUOTES, 'UTF-8')

);*/

$message['message'] = html_entity_decode($message['message'],ENT_QUOTES,'UTF-8');

Source : http://www.webdigit....html#comment-36

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

  • 4 months later...
  • 2 weeks later...
  • 7 years later...

Bonjour, 

Cette méthode fonctionne bien dans le backoffice : 

Celui-ci se trouve dans /admin/themes/default/template/controllers/customer_threads/helpers/view/message.pl

Repérez en fin de fichier la ligne suivante :

<p class="message-item-text">{$message.message|escape:'html':'UTF-8'|nl2br}</p>

Et remplacez-la par ceci :

<p class="message-item-text">{$message.message nofilter}</p>

 

Mais j'ai toujours les caractères spéciaux dans la timeline en dessous.

Une idée de comment corriger ce message SAV aussi ?

 

Merci

Link to comment
Share on other sites

  • 1 month later...
On 2/12/2021 at 3:37 PM, Cocomo said:

Bonjour, 

Cette méthode fonctionne bien dans le backoffice : 

Celui-ci se trouve dans /admin/themes/default/template/controllers/customer_threads/helpers/view/message.pl

Repérez en fin de fichier la ligne suivante :

<p class="message-item-text">{$message.message|escape:'html':'UTF-8'|nl2br}</p>

Et remplacez-la par ceci :

<p class="message-item-text">{$message.message nofilter}</p>

 

Mais j'ai toujours les caractères spéciaux dans la timeline en dessous.

Une idée de comment corriger ce message SAV aussi ?

 

Merci

J'ai le même problème, avez-vous trouvé une solution?

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