Jump to content

ORDER_CONF - affichage {variable} uniquement


Recommended Posts

Bonjour,

Prestashop version 1.6.1.23  (MAJ depuis une version 1.4)

Thème d'origine (default-bootstrap version 1.0)

Je rencontre actuellement un soucis au niveau de l'email "ORDER_CONF" qui affiche les variables et non pas le résultat.

Seules les variables ci-dessous s'affiche correctement 

{FIRSTNAME}
{LASTNAME} 
{order_name} 
{total_paid}
{shop_name} 

Ce qui donne visuellement :

A1.thumb.JPG.c2ed13b1e523c1dfec083f71e5fcf28f.JPG

 

J'ai vu sur le forum des sujets qui parlent de soucis "ORDER_CONF" dont deux qui semble être totalement identique,
au point même que ce sont exactement les mêmes variables qui sont visible et non visibles !

Le premier suite à un changement de template (ce qui n'est pas mon cas) https://www.prestashop.com/forums/topic/1014471-order_conf-does-not-show-information

et le second https://www.prestashop.com/forums/topic/304553-problème-avec-mails-order_conf/

Le troisième https://www.prestashop.com/forums/topic/755189-email-order_conf-naffiche-que-le-nom-de-la-variable-new_order-non-modifiable/

 

 

Et aucun d'eux ne m'a permis de trouver une réponse.


Je suppose que pour résoudre ce soucis il vous faut d'autre informations ? si oui lesquels ?


Je suis loin d'être un expert, ni même un connaisseur, mais si j'ai bien un peu compris la logique, ces valeurs sont situés dans une "classes"  (/www/monsite/classes/)

Mais je ne comprend pas pourquoi certaines valeurs s'affichent, car si j'aurais une classe manquante, il ne devrait y avoir aucune valeur affichés non ?

 

Pour mon code email order_conf :

 

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<table class="table table-mail" style="width: 100%; margin-top: 10px; -moz-box-shadow: 0 0 5px #afafaf; -webkit-box-shadow: 0 0 5px #afafaf; -o-box-shadow: 0 0 5px #afafaf; box-shadow: 0 0 5px #afafaf; filter: progid:DXImageTransform.Microsoft.Shadow(color=#afafaf,Direction=134,Strength=5);">
<tbody>
<tr>
<td class="space" style="width: 20px; padding: 7px 0;"> </td>
<td align="center" style="padding: 7px 0;">
<table class="table" bgcolor="#ffffff" style="width: 100%;">
<tbody>
<tr>
<td align="center" class="logo" style="border-bottom: 4px solid #333333; padding: 7px 0;"><a title="{shop_name}" href="{shop_url}" style="color: #337ff1;"> <img src="{shop_logo}" alt="{shop_name}" /> </a></td>
</tr>
<tr>
<td align="center" class="titleblock" style="padding: 7px 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <span class="title" style="font-weight: 500; font-size: 28px; text-transform: uppercase; line-height: 33px;">Bonjour {firstname} {lastname},</span><br /> <span class="subtitle" style="font-weight: 500; font-size: 16px; text-transform: uppercase; line-height: 25px;">Merci d'avoir effectué vos achats sur {shop_name}!</span> </span></td>
</tr>
<tr>
<td class="space_footer" style="padding: 0!important;"> </td>
</tr>
<tr>
<td class="box" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<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;">Détails de la commande</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span style="color: #777;"> <span style="color: #333;"><strong>Commande :</strong></span> {order_name} passée le {date}<br /><br /> <span style="color: #333;"><strong>Paiement :</strong></span> {payment} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="padding: 7px 0;">
<table class="table table-recap" bgcolor="#ffffff" style="width: 100%; border-collapse: collapse;"><!-- Title -->
<tbody>
<tr><th bgcolor="#f8f8f8" style="border: 1px solid #D6D4D4; background-color: #fbfbfb; color: #333; font-family: Arial; font-size: 13px; padding: 10px;">Référence</th><th bgcolor="#f8f8f8" style="border: 1px solid #D6D4D4; background-color: #fbfbfb; color: #333; font-family: Arial; font-size: 13px; padding: 10px;">Produit</th><th bgcolor="#f8f8f8" style="border: 1px solid #D6D4D4; background-color: #fbfbfb; color: #333; font-family: Arial; font-size: 13px; padding: 10px;" width="17%">Prix unitaire</th><th bgcolor="#f8f8f8" style="border: 1px solid #D6D4D4; background-color: #fbfbfb; color: #333; font-family: Arial; font-size: 13px; padding: 10px;">Quantité</th><th bgcolor="#f8f8f8" style="border: 1px solid #D6D4D4; background-color: #fbfbfb; color: #333; font-family: Arial; font-size: 13px; padding: 10px;" width="17%">Prix total</th></tr>
<tr>
<td colspan="5" style="border: 1px solid #D6D4D4; text-align: center; color: #777; padding: 7px 0;">  {products} {products}</td>
</tr>
<tr>
<td colspan="5" style="border: 1px solid #D6D4D4; text-align: center; color: #777; padding: 7px 0;">  {discounts}</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Produits</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" align="right" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_products} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Réductions</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_discounts} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Livraison</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_shipping} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>TVA totale</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> {total_tax_paid} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="conf_body">
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <strong>Total payé</strong> </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td bgcolor="#f8f8f8" colspan="4" style="border: 1px solid #D6D4D4; color: #333; padding: 7px 0;">
<table class="table" style="width: 100%; border-collapse: collapse;">
<tbody>
<tr>
<td width="10" style="color: #333; padding: 0;"> </td>
<td align="right" style="color: #333; padding: 0;"><span size="4" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: large;"> {total_paid} </span></td>
<td width="10" style="color: #333; padding: 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="box" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<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;">Livraison</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span style="color: #777;"> <span style="color: #333;"><strong>Transporteur :</strong></span> {carrier}<br /><br /> <span style="color: #333;"><strong>Paiement :</strong></span> {payment} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="space_footer" style="padding: 0!important;"> </td>
</tr>
<tr>
<td style="padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td class="box address" width="310" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<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;">Adresse de livraison</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span data-html-only="1" style="color: #777;"> {delivery_block_html} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
<td width="20" class="space_address" style="padding: 7px 0;"> </td>
<td class="box address" width="310" style="border: 1px solid #D6D4D4; background-color: #f8f8f8; padding: 7px 0;">
<table class="table" style="width: 100%;">
<tbody>
<tr>
<td width="10" style="padding: 7px 0;"> </td>
<td style="padding: 7px 0;">
<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;">Adresse de facturation</p>
<span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"><span data-html-only="1" style="color: #777;"> {invoice_block_html} </span> </span></td>
<td width="10" style="padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="space_footer" style="padding: 0!important;"> </td>
</tr>
<tr>
<td class="linkbelow" style="padding: 7px 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <span> Vous pouvez accéder à tout moment au suivi de votre commande et télécharger votre facture dans <a href="{history_url}" style="color: #337ff1;">"Historique des commandes"</a> de la rubrique <a href="{my_account_url}" style="color: #337ff1;">"Mon compte"</a> sur notre site. </span> </span></td>
</tr>
<tr>
<td class="linkbelow" style="padding: 7px 0;"><span size="2" face="Open-sans, sans-serif" color="#555454" style="color: #555454; font-family: Open-sans, sans-serif; font-size: small;"> <span> Si vous avez un compte invité, vous pouvez suivre votre commande dans la section <a href="{guest_tracking_url}?id_order={order_name}" style="color: #337ff1;">"Suivi invité"</a> de notre site. </span> </span></td>
</tr>
<tr>
<td class="space_footer" style="padding: 0!important;"> </td>
</tr>
<tr>
<td class="footer" style="border-top: 4px solid #333333; padding: 7px 0;"><span><a href="{shop_url}" style="color: #337ff1;">{shop_name}</a> </span></td>
</tr>
</tbody>
</table>
</td>
<td class="space" style="width: 20px; padding: 7px 0;"> </td>
</tr>
</tbody>
</table>
</body>
</html>

 

Si l'un d'entre vous aurait une idée pour m'aider ou m'aiguiller dans ma recherche ?

Link to comment
Share on other sites

C'est bien le fichier utilisé car je l'ai comparé à celui affiché en back office (qu'on peut modifier en direct) dans l'onglet Localisation-> traduction/email/FR

Et ma version 1.6.1.23 est pratiquement inchangé (d'origine) 

J'ai juste un module pour "edition de masse" et un pour le changement de numéro de commande (qui n'utilise pas d'override)

Link to comment
Share on other sites

J'ai ajouté "TEST TEST" sur le fichier order_conf.html, je l'ai envoyé sur le serveur pour remplacer celui dans <monthemes>/mails/fr/order-conf.html 

j'ai ensuite fait un envoi de mail de confirmation de commande, et j'ai bien reçu par email la version avec "TEST TEST" indiqué dessus.(j'ai joint la photo et j'ai surligné en jaune le texte ajouté)

Cela confirme donc que le fichier utilisé par presta, est bien celui que je vous ai joint. (au moins on en est sur maintenant)

test.thumb.JPG.79408ff3118c9cad3548a5933dc9589b.JPG

Link to comment
Share on other sites

Il vient de se passer quelque chose de très surprenant sur mon site à ce sujet.

J'avais abandonné l'idée d'avoir le récapitulatif de commande(order_conf) envoyé par email lors du passage au statut "payement accepté".
j'ai donc juste laissé l'email "payment" disant "votre payement a été accepté" à la place du "order_conf" récapitulant tout.

 

Et je suis donc passé à autre chose, qui est  la mise en place d'un payement par carte (qui n'était pas encore présent sur le site).
 

Et en effectuant les test de payement, j'ai donc créer un compte adresse livraison en France et un en Belgique, (car j'ai parfois quelques clients d'autres pays Européen).

Les clients de France reçoivent donc un email classique  "payement", mais je ne comprend pas pourquoi, mais les clients Belge reçoivent quand à eux le "order_conf" !

Comment c'est possible, ils ont tout deux le même statut de commande "payement accepté" et devrait donc théoriquement recevoir le même email qui est relié à ce statut !

 

Et là ou c'est totalement incompréhensible pour moi, c'est que le récapitulatif est bon ! Les variables s'affichent bien, la seule variable ne s'affichant pas correctement est le 

{ORDER_NAME} dans le titre du message, alors que ironiquement dans le corps du message il est aussi repris, mais affiche bien le numéro de commande.

 

Cela soulève tant de question :

A) Pourquoi la France et la Belgique reçoivent un email différent pour pourtant le même statut (et même langue [FR] )

2) Pourquoi dans le même Email il est possible qu'une variable soit affiché correctement dans le corps du message, mais pas dans le titre  ?
    (est-ce car les variables se réfèrent à ces classes, et que le titre pourrait être relié à une classes, et le corps du message à une autre?)
     je précise que j'extrapole ici sans la moindre connaissance car je ne suis même pas sur d'avoir bien compris ce qu'est une classes

3) Pourquoi le "order_conf" que reçoivent les clients Belge, n'est pas buggé comme celui que j'avais présenté plus haut ?

4) Si tout cela est du à un bug lors de la MAJ de 1.4 vers 1.6.1.23, copier les fichiers d'origine "classes" 1.6.1.23 pourraient-ils résoudres le problème ?

 

Désolé de toutes ces questions, mais je bloque vraiment à comprendre la logique de tout cela.

 

 

  •  MAJ  :  J'ai refait d'autres test, et j'ai aussi eu des clients Français qui reçoivent l'email "order_conf".  Cela n'est donc plus lié au pays de livraison, mais semble donc aléatoire (ce qui n'est pas possible).

De plus, certains clients reçoivent les 2 emails (order_conf + payement)

Et pour les commande où j'ai eu l'email "order_conf" si je vais sur la commande et fait "renvoyer l'email" je reçoit uniquement l'email "payment"

On est bien entendu toujours sur le fichier "order_conf.html"  que dont j'avais mis le code en lien car dans l'email reçu suites au commande, 
j'ai les mots "test test" que doekia m'avait demander de placer et que j'avais pas encore retirer.

 

Voici l'image de ce que j'ai reçu par email : (pour comparé à plus haut ou je n'avais que des {variable} hormis le total_paid

 

Test_2b.jpg.229948a04ace4f57219cd1e76625f018.jpg

Comme vous le voyez tout est revenu (sauf dans le titre)

 

Au niveau des emails reçu, ci-dessous le listing (avec à droite "email reçu" pour indiquer quel email à été reçu suite à la commande) :

 

payement_1.thumb.jpg.36fccd1dff624255aab51724dc417cc2.jpg

 

Le 4100 et 4101 sont une seule commande (presta séparant les  commandes/factures issus de livraison différentes)

La 4103 et 4104 sont les même, car la 4103 est une commande et j'ai fait "repasser la commande" ce qui a créer la 4104,
et pourtant, un résultat différent au niveau de la réception email.


je suis pas du genre pessimiste, mais la j'ai l'impression d'être foutu, car c'est un beau bordel sans semblant de logique.

 

2ème mise à jour (au cas ou quelqu'un aurait eu le courage de lire jusqu'ici)

Ayant fini les test de module payement par carte, je suis passé en mode "production", et j'ai donc fait un vrai payement (avec ma propre carte) comme le ferait donc un client.  J'ai reçu les 2 emails de confirmation (Payment.html + order_conf.html) et maintenant l'order_conf à TOUTES les variables affichant correctement l'information, même dans le titre.   Techniquement je devrait me dire que "tout va bien", mais c'est faux, il y a un sacré problème sur mon site et je me doute que même si ça fonctionne bien aujourd'hui, rien ne le garantie pour "demain"

 

 

 

Edited by Prestatest
Complément d'information (see edit history)
Link to comment
Share on other sites

Il y a 8 heures, Prestatest a dit :

4) Si tout cela est du à un bug lors de la MAJ de 1.4 vers 1.6.1.23, copier les fichiers d'origine "classes" 1.6.1.23 pourraient-ils résoudres le problème ?

C'est exactement ce que fait le processus "naturel" de migration à moins que vous n'ayez utilisé une technique autre.

Donc oui supprimer et recopier d'une version 1.6.1.23 propre les répertoires, classes, controllers, js, tools

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