Insérer les messages Clients sur les factures Prestashop
Si vous désirez insérer le message que le client a noté lors de l’achat (il est marqué lors de la select du transporteur) vous pouvez…
Si vous désirez insérer le message que le client a noté lors de l’achat (il est marqué lors de la select du transporteur) vous pouvez faire comme suit :
Insérer la ligne suivante dans HTMLTemplateInvoice.php qui se trouve dans => dossier: classes => dossier: pdf
'messages' => Message::getMessagesByOrderId($this->order->id),
exemple (dans mon cas, ligne 85) :
ceci :
public function getHeader() {
$this->assignCommonHeaderData();
$this->smarty->assign(array('header' => Context::getContext()->getTranslator()->trans('Invoice', array(), 'Shop.Pdf')));
return $this->smarty->fetch($this->getTemplate('header'));
}
devient ceci :
public function getHeader() {
$this->assignCommonHeaderData();
$this->smarty->assign(array('messages' => Message::getMessagesByOrderId($this->order->id), 'header' => Context::getContext()->getTranslator()->trans('Invoice', array(), 'Shop.Pdf')));
return $this->smarty->fetch($this->getTemplate('header'));
}
PUIS
Si sous le lieu de livraison:
- mettre les lignes suivantes dans le fichier “/themes/leNomDeVotreTheme/pdf/invoice.addresses-tab.tpl”
{foreach $messages as $message}
{$message.message|nl2br}
{/foreach}
exemple (dans mon cas, ligne 33) :
ceci:
{if $delivery_address}{l s='Delivery Address' d='Shop.Pdf' pdf='true'}
{$delivery_address}
{/if}
devient ceci :
{if $delivery_address}{l s='Delivery Address' d='Shop.Pdf' pdf='true'}
{$delivery_address}
{/if}
{foreach $messages as $message}
{$message.message|nl2br}
{/foreach}
Si vous voulez le mettre en en fin de page, sous le total:
- mettre les ligne suivante dans le fichier “/themes/leNomDeVotreTheme/pdf/invoice.tpl” juste avant
Messages :
{foreach $messages as $message}
{$message.message|nl2br}
{/foreach}
—
Un récap du fichier avec le message et la référence chantier
{l s='Billing Address' d='Shop.Pdf' pdf='true'}
{$invoice_address}
{if $delivery_address}
{l s='Delivery Address' d='Shop.Pdf' pdf='true'}
{$delivery_address}
{/if}
{if isset($HOOK_DISPLAY_PDF)}
{if $HOOK_DISPLAY_PDF != ""}
{$HOOK_DISPLAY_PDF}
{/if}
{/if}
{foreach $messages as $message}
{if preg_match("/Action réalisée/i", $message.message|nl2br)}
{else}
{$message.message|nl2br}
{/if}
{/foreach}
Cela devait faire l’affaire.
Bonne chance pour la suite ^^
Certains liens de ce site sont affiliés : si vous passez par ces liens, nous pouvons percevoir une commission, sans surcoût pour vous et sans perte d’une promotion éventuellement en cours. Politique d’affiliation.