Jump to content
Pr1s2for

Changer contenu mail client (order_conf.html)

Recommended Posts

Bonjour à tous,

Je développe actuellement le template d'une boutique et je modifie également les mails destinés aux clients.

 

je travaille sur une version 1.4.5.1 de prestashop

 

Je souhaite modifier le contenu de l'e-mail order_conf.html et d'une manière générale tous les mails qui font appel à la la variable {products}

 

D'après ce que j'ai vu il faut modifier le fichier paymentmodule.php qui se trouve dans le répertoire classes.

 

Je souhaite modifier les colonnes affichées pour chaque ligne de produit.

Actuellement on a 5 colonnes : référence, produit, prix unitaire, quantité, prix total

Moi je ne souhaite afficher que 3 colonnes par exemples: référence, produit, prix total.

 

 

j'ai beau chercher je ne trouve pas de quelle manière modifier le fichier paymentmodule.php

Pareil pour la couleur de fond du tableau et la mise en forme de celui-ci (couleur de fond, police ect...)

 

Merci pour votre aide

Share this post


Link to post
Share on other sites

Bonjour Pr1s2for,

 

Tu peux changer toute la mise en forme en éditant les fichiers html du dossier \mail de PrestaSthop.

Share this post


Link to post
Share on other sites

Mais pas pour la partie contenu du tableau des lignes de produits....

Je te mets le détail du code:

<!-- Products -->

{products}

{discounts}

Voilà c'est tout ce qu'il y a pour le contenu même des lignes de produits.

Je ne peux pas modifier directement l'affichage du contenu dans le fichier html, je dois remonter le fil pour retrouver ce qui alimente la variable {product}

Tu me suis?

D'autre part, je ne sais pas comment modifier le contenu de ces lignes.

  • Like 1

Share this post


Link to post
Share on other sites

Bonjour,

 

Je suis intéressé par ce sujet, je dois supprimer les prix de ce mail (order_conf.html), tout en conservant la liste des produits commandés !

 

Une petite info SVP !

 

Merci le Team. :)

Share this post


Link to post
Share on other sites

Désolé cela a mis un peu de temps !

 

Donc la partie à modifier se trouve dans paymentModule.php et il faut chercher

 

"$productsList .=

'<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';">"

 

C'est à cet endroit que tu pourras définir ce que tu veux afficher dans la variable {product}.

 

En espérant que cela t'aide.

Share this post


Link to post
Share on other sites

Merci Carl,

 

Moi ça me va ! Les balises du tableau sont bien visibles et la modification est facile à faire.

 

ligne 264 - version 1.4.5.1

$productsList .=
  '<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
   <td style="padding: 0.6em 0.4em;">'.$product['reference'].'</td>
   <td style="padding: 0.6em 0.4em;"><strong>'.$product['name'].(isset($product['attributes_small']) ? ' '.$product['attributes_small'] : '').' - '.$this->l('Customized').(!empty($customizationText) ? ' - '.$customizationText : '').'</strong></td>
   <td style="padding: 0.6em 0.4em; text-align: right;">'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ? $price : $price_wt, $currency, false).'</td>
   <td style="padding: 0.6em 0.4em; text-align: center;">'.$customizationQuantity.'</td>
   <td style="padding: 0.6em 0.4em; text-align: right;">'.Tools::displayPrice($customizationQuantity * (Product::getTaxCalculationMethod() == PS_TAX_EXC ? $price : $price_wt), $currency, false).'</td>
  </tr>';
 }
 if (!$customizationQuantity OR (int)$product['cart_quantity'] > $customizationQuantity)
  $productsList .=
  '<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
   <td style="padding: 0.6em 0.4em;">'.$product['reference'].'</td>
   <td style="padding: 0.6em 0.4em;"><strong>'.$product['name'].(isset($product['attributes_small']) ? ' '.$product['attributes_small'] : '').'</strong></td>
   <td style="padding: 0.6em 0.4em; text-align: right;">'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ? $price : $price_wt, $currency, false).'</td>
   <td style="padding: 0.6em 0.4em; text-align: center;">'.((int)($product['cart_quantity']) - $customizationQuantity).'</td>
   <td style="padding: 0.6em 0.4em; text-align: right;">'.Tools::displayPrice(((int)($product['cart_quantity']) - $customizationQuantity) * (Product::getTaxCalculationMethod() == PS_TAX_EXC ? $price : $price_wt), $currency, false).'</td>
  </tr>';

 

Il serait intéressant de se servir de l'override pour ce fichier, afin de prévoir une inévitable mise à jour du coeur.

 

Merci

Share this post


Link to post
Share on other sites

Bonjour,

Merci pour ce retour, je vais regarder cela de mon côté également, et voir si j'ai des soucis où pas.

D'autre part les modifications du coeur sont inévitables dans ce cas, et utiliser l'override est obligatoire pour garder la possibilité de mettre à jour la solution.

Cela dit il est tout de même dommage de devoir modifier le coeur pour une histoire de mail....

Share this post


Link to post
Share on other sites

Bonjour,

 

je fais suite à ce message, car j'ai la même question concernant la variable {items} que je trouve dans le mail que reçois l'administrateur lorsqu’une commande est passée.

 

Quelqu'un peut m'éclairer??

Share this post


Link to post
Share on other sites

Bonjour à tous,

le sujet de ce topic m'a tout de suite éclairé pour tenter d'effectuer les modifs nécessaires à mon cas mais j'avoue que je sèche quand même...

En effet,

l'affichage du mail de confirmation de commande ne me plait pas vraiment,

je vous laisse regarder ci-dessous

 

Je ne parviens pas à organiser les colonnes correctement pour que celles-ci correspondent aux lignes du dessous.

J'ai cherché dans le Paymentmodule.php mais rien de probant.

 

Merci à ceux qui auraient une solution à m'apporter

 

Cordialement

order_conf.pdf

Share this post


Link to post
Share on other sites

Bonjour à tous

je reviens vers vous pour la disposition de order_conf

 

quelqu'un saurait-il éclairer ma lanterne

 

merci d'avance

Share this post


Link to post
Share on other sites

Je ne parviens pas à organiser les colonnes correctement pour que celles-ci correspondent aux lignes du dessous.

J'ai cherché dans le Paymentmodule.php mais rien de probant.

 

Bonjour, j'ai exactement le même problème que vous, pourriez-vous me dire si vous avez réussi à solutionner la chose et comment, svp?

 

Merci d'avance !!

Share this post


Link to post
Share on other sites

Bonjour,

 

Je sais pas si cela va servir, mais j'ai rencontré le problème en modifiant avec l'éditeur integré dans prestashop 1.4.8... par contre en éditant le fichier en local avec Dreamweaver en mode "Code"... plus de problème...

Share this post


Link to post
Share on other sites

Bonjour,

 

Je tombe sur ce sujet, si quelqu'un souhaite une solution :

La modification est bien à réaliser sur le fichier mail order_conf.html et dans PaymentModule (class) pour le message qui va au client après la commande.

Dans le mail, on doit avoir :

<table style="width: 100%; font-family: Verdana,sans-serif; font-size: 11px; color: #374953;"><!-- Title -->
<tbody>
<tr style="background-color: #b9babe; text-align: center;"><th style="width: 15%; padding: 0.6em 0;">Référence</th><th style="width: 30%; padding: 0.6em 0;">Produit</th><th style="width: 20%; padding: 0.6em 0;">Prix unitaire</th><th style="width: 15%; padding: 0.6em 0;">Quantité</th><th style="width: 20%; padding: 0.6em 0;">Prix total</th></tr>
<tr>
<td colspan="5">{products}</td>
</tr>
<tr>
<td colspan="5">{discounts}</td>
</tr>
<tr style="text-align: right;">
<td> </td>
<td style="background-color: #b9babe; padding: 0.6em 0.4em;" colspan="3">Total produits</td>
<td style="background-color: #b9babe; padding: 0.6em 0.4em;">{total_products}</td>
</tr>
<tr style="text-align: right;">
<td> </td>
<td style="background-color: #ebecee; padding: 0.6em 0.4em;" colspan="3">Bons d'achat et réductions</td>
<td style="background-color: #ebecee; padding: 0.6em 0.4em;">{total_discounts}</td>
</tr>
<tr style="text-align: right;">
<td> </td>
<td style="background-color: #ebecee; padding: 0.6em 0.4em;" colspan="3">Emballage Cadeau</td>
<td style="background-color: #ebecee; padding: 0.6em 0.4em;">{total_wrapping}</td>
</tr>
<tr style="text-align: right;">
<td> </td>
<td style="background-color: #dde2e6; padding: 0.6em 0.4em;" colspan="3">Frais d'expédition</td>
<td style="background-color: #dde2e6; padding: 0.6em 0.4em;">{total_shipping}</td>
</tr>
<tr style="text-align: right; font-weight: bold;">
<td> </td>
<td style="background-color: #f1aecf; padding: 0.6em 0.4em;" colspan="3">Total payé</td>
<td style="background-color: #f1aecf; padding: 0.6em 0.4em;">{total_paid}</td>
</tr>
</tbody>
</table>

 

Pour la classe :

Rechercher "$products_list"

Modifier :

$products_list .=
   '<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
    <td style="padding: 0.6em 0.4em;">'.$product['reference'].'</td>
    <td style="padding: 0.6em 0.4em;"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').'</strong></td>
    <td style="padding: 0.6em 0.4em; text-align: right;">'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt, $this->context->currency, false).'</td>
    <td style="padding: 0.6em 0.4em; text-align: center;">'.((int)$product['cart_quantity'] - $customization_quantity).'</td>
    <td style="padding: 0.6em 0.4em; text-align: right;">'.Tools::displayPrice(((int)$product['cart_quantity'] - $customization_quantity) * (Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt), $this->context->currency, false).'</td>
   </tr>';

par:

$products_list .=
   '<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
    <td style="padding: 0.6em 0.4em;width:15%">'.$product['reference'].'</td>
    <td style="padding: 0.6em 0.4em;width:30%"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').'</strong></td>
    <td style="padding: 0.6em 0.4em; text-align: right;width:20%">'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt, $this->context->currency, false).'</td>
    <td style="padding: 0.6em 0.4em; text-align: center;width:15%">'.((int)$product['cart_quantity'] - $customization_quantity).'</td>
    <td style="padding: 0.6em 0.4em; text-align: right;width:20%">'.Tools::displayPrice(((int)$product['cart_quantity'] - $customization_quantity) * (Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt), $this->context->currency, false).'</td>
   </tr>';

  • Like 1

Share this post


Link to post
Share on other sites

Merci a vous tous pour ce topic presque parfait

Aprés des nuit et des jours de recherche, je suis parvenu a faire un order conf qui ressemble a quelque chose !!

Cependant il me reste des traces du rose glamour prestashop que nous adorons tous !!!

Sur ce lien, vous pourrais voir une image de mon order conf - ici -

Quelqu'un aurais une idée pour changer la couleur du nom et prenom client dans la rubrique Livraison de l'order conf?

merci d'avance

erwann

Share this post


Link to post
Share on other sites

Bonjour,

 

Pour ceux qui le souhaite nous avons réaliser un petit module qui permet de modifier ses templates emails via un Wysiwyg.

 

Cordialement,

 

Arthur

Share this post


Link to post
Share on other sites

Bonjour,

 

Sur le ligne des produit en plus des prix TTC, j'aimerai afficher ceux en HT.

Je crois que ça se passe ici :

<td style="padding: 0.6em 0.4em; width: 20%;">'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ?  Tools::ps_round($price, 2) : $price_wt, $this->context->currency, false).'</td>

mais que dois-je faire ?

Share this post


Link to post
Share on other sites

Je m'auto-répond en bidouillant les variables à l'aveugle j'ai trouvé :

<td style="padding: 0.6em 0.4em; width: 20%;">ici'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 1) : $price_wt, $this->context->currency, false).' - '.$price.'</td>

 

J'ai mis '1' ps_round($price, 1), ça à l'air d'être HT.

 

Par contre, lorsque j'ai un prix en promo il me met ce prix en TTC et HT.

 

J'aimerais afficher le prix sans la réduction !

Avez-vous une idée de ce que je dois faire ?

Share this post


Link to post
Share on other sites

Bonjour,

 

Quelqu'un aurait une idée concernant la version 1.6.0.9 de PS ? En effet, le fichier PaymentModule.php a un peu changé. Du coup, impossible de trouver où modifier par exemple la présentation du tableau comprenant la référence, le nom et la quantité du produit...

 

Merci d'avance pour votre aide.

Share this post


Link to post
Share on other sites

Bonjour,

petit up pour la version 1.6 de presta et plus précisemment 1.6.1.12. pour faire afficher le total HT.

Merci

Share this post


Link to post
Share on other sites

Bonjour à tous !

Un mot car j'utilise Prestashop 1.7, et j'aimerais savoir si quelqu'un connait - dans la lignée de ce qui a été écrit plus haut - un moyen de supprimer le prix du mail order_conf ?

J'ai la variable {product} qui englobe la référence, le libellé, la quantité et le prix, et impossible de sourcer cette variable...


Merci de votre aide !

 

Duke,

Share this post


Link to post
Share on other sites

Si quelqu'un pouvait m'aider à lister les différentes variables qui composent {product}... Référence, libellé, prix unitaire, quantité...

Ce serait très sympa !

 

Merci 😞

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More