Petit tutorial qui vous expliquera comment rajouter les messages clients sur vos factures sur Prestashop 1.7.
Cela peut être pratique pour gérer votre logistique.
Certains modules payants vous proposent de le faire mais une solution assez simple existe que on va voir ensemble.
1. Modification du fichier OrderInvoice.php
- Copiez le fichier /classes/order/OrderInvoice.php
- Collez le dans /override/classes/order/
- Editez ce fichier:
- Partez à la recherche de la fonction getProducts($products...
- Dans cette fonction, juste après la ligne "foreach ($products as $row) { ", rajoutez:
// Début modif
if( end($products) === $row ) {
$row['first_order_message'] = nl2br($order->getFirstMessage());
}
// Fin modif
- Sauvegardez le fichier modifié
- Editez le fichier /pdf/invoice.product-tab.tpl
- Rajoutez à l'emplacement voulu le code suivant:
{if isset($order_detail.first_order_message) && $order_detail.first_order_message}
<table id="order_msg" class="product" width="100%">
<tr>
<td class="center grey bold" width="20%">{l s='Message client' pdf='true'}</td>
<td class="left white" width="80%">{$order_detail.first_order_message}</td>
</tr>
</table>{/if}
Et voilà!
Bonjour,
je suis interessé par votre tuto et j’ai essayé en vain de le mettre en place.
Je suis sur une boutique 1.7.6.8
La modif du premier fichier est ok et lorsque je modifie le second fichier /pdf/invoice.product-tab.tpl
cela plante à chaque fois, qu’el que soit l’endroit ou je positionne le code.
Pourriez vous m’aider? je suis un novice éclairé
et oui, cela semble si simple que j’aurai bien économisé un addon à 50€.
merci
Bonjour,
pensez à remplacer tous les » par des » dans le code du tutoriel sinon cela ne marchera pas.
LOL, le souci est donc sur WordPress qui traduit n’importe quoi et donc tous les code de ce site sont pourris par wordpress.
Je disait que les » doivent être remplacés par des doubles quotes habituels