Jump to content

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

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

Link to comment
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

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

Link to comment
Share on other sites

  • 3 months later...

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

Link to comment
Share on other sites

  • 5 weeks later...

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

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

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

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

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
Link to comment
Share on other sites

  • 1 month later...

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

Link to comment
Share on other sites

  • 4 weeks later...
  • 7 months later...

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 ?

Link to comment
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 ?

Link to comment
Share on other sites

  • 1 year later...

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.

Link to comment
Share on other sites

  • 2 years later...
  • 2 years later...

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,

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