Jump to content

Recommended Posts

Bonjour
Ma demande concerne une version 1.5.4 de Prestashop.
Je cherchais à modifier l'invoice template pour faire apparaître le code article et l'email client.
Pour le code j'y suis parvenu mais pour l'émail j'ai beau faire des recherches sur les forums et faire des tests je n'y parviens pas (en prenant bien soin de vider les caches smarty)
Existe t'il des codes templates modèles où est inséré l'email client ?
Pour que je puisse me débrouiller avec pour avancer dans mes tests

Merci d'avance si je trouve une aide. 

Share this post


Link to post
Share on other sites

Merci Doekia seulement avec cette variable il me semble avoir essayé cela n'apparait toujours pas en facture finale
mais peut être je fais erreur en l'intégrant mal dans le code tpl
 

<!-- ADDRESSES -->
<table style="width: 100%">
<tr>
<td style="width: 15%"></td>
<td style="width: 85%">
{if !empty($delivery_address)}
<table style="width: 100%">
         <tr>
<td style="width: 50%">
<span style="font-weight: bold; font-size: 10pt; color: #9E9F9E">{l s='Delivery Address' pdf='true'}</span><br />
{$delivery_address}
               </td>
<td style="width: 50%">
<span style="font-weight: bold; font-size: 10pt; color: #9E9F9E">{l s='Billing Address' pdf='true'}</span><br />
{$invoice_address}
               {$customer->email}
</td>
</tr>

Share this post


Link to post
Share on other sites

Ok cette fois en rectifiant un truc ça marche
Pour info donc aller aussi dans classe > pdf et templateinvoice
et rajouter la ligne 
'customer_email' => $customer->email

 

voilà pour les prochains qui buteront la dessus
Merci de m'avoir aiguillé, belle soirée  :)

Edited by spector (see edit history)

Share this post


Link to post
Share on other sites

Tu as bien dit avoir un prestashop 1.5.4 ?
 
Le code d'origine est normalement dans classes/pdf/HTMLTemplateInvoice.php comme suit:

                $customer = new Customer((int)$this->order->id_customer);

                $this->smarty->assign(array(
                        'order' => $this->order,
                        'order_details' => $this->order_invoice->getProducts(),
                        'cart_rules' => $this->order->getCartRules($this->order_invoice->id),
                        'delivery_address' => $formatted_delivery_address,
                        'invoice_address' => $formatted_invoice_address,
                        'tax_excluded_display' => Group::getPriceDisplayMethod($customer->id_default_group),
                        'tax_tab' => $this->getTaxTabContent(),
                        'customer' => $customer
                ));

Share this post


Link to post
Share on other sites

Oui ce à quoi j'ai rajouté la ligne
 'customer_email' => $customer->email

Et ensuite aller sur le dossier PDF et ajouter la variable {$customer->email} dans le fichier invoice.tpl

En fait je faisais l'un sans l'autre au début et ensuite j'avais mal écris la variable dans l'invoice
Enfin voilà , l'essentiel c'est que ça marche ;) 

Share this post


Link to post
Share on other sites

ce que tu dis n'a pas de sens.

$customer est un objet donc $customer->email donne l'email

tu viens de faire une variable $customer_email mais ... elle ne sert à rien puisqu'elle n'est pas dans ton tpl

Share this post


Link to post
Share on other sites

Bienvenue dans la 4ème dimension... :D

Share this post


Link to post
Share on other sites

ce que tu dis n'a pas de sens.

$customer est un objet donc $customer->email donne l'email

tu viens de faire une variable $customer_email mais ... elle ne sert à rien puisqu'elle n'est pas dans ton tpl

 

Si ce que je dis n'a pas de sens ce que j'ai fait a donné un resultat ;) 

Merci encore

Share this post


Link to post
Share on other sites

Disons que $customer->email donne un résultat, mais pas le reste^^

Share this post


Link to post
Share on other sites

Non, désolé les ordinateurs étant ce qu'ils sont, le patch que tu as fait dans classes/pdf/HTMLTemplateInvoice.php n'as rien fait de concret, pas dans cet univers en tout cas

 

Tu te retrouve sûrement avec un problème de cache presta, navigateur, memcached,  ou cdn, ou que sais-je qui t'as piégé mais seule la ligne dans le tpl compte

Edited by doekia (see edit history)

Share this post


Link to post
Share on other sites

 
Mais comme j'ai le sens de la remise en cause et non borné je viens par curiosité de refaire un test en supprimant ma modif sur  classes/pdf/HTMLTemplateInvoice.php
Donc il affiche quand même l'email en facture en effet, mea culpa.

Enchaînant les tests, même parfois en vidant les caches, ça a du jouer un mauvais tour comme tu dis.

 

  • Like 3

Share this post


Link to post
Share on other sites

;) t'inquiète ça nous arrive a tous un jour ou l'autre

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