26 Sep 2019

Ajouter l’email client dans les factures PDF de Prestashop 1.7

Un tutoriel et des fichiers pour permettre l’affichage de l’adresse mail client sur les factures de votre Prestashop 1.7.

Vous utilisez peut-être les factures clients PDF pour préparer les commandes ou encore pour la comptabilité. Si vous avez besoin de contacter votre client par mail, vous êtes obligé d’aller dans le compte client. Grâce à ce tutoriel Prestashop très simple vous allez pouvoir afficher l’e-mail du client sur vos factures PDF.

Créer un Override sur votre Prestashop

Vous allez devoir faire une surcouche du fichier HTMLTemplate.php sur votre serveur.
Il faut créer ce fichier dans : override -> classes -> PDF

Ensuite collez ceci dans votre fichier :

<?php

/*  
  Override add telephone on PDF Invoice
  https://www.matthieu-jalbert.fr/
*/

abstract class HTMLTemplate extends HTMLTemplateCore {
 
    public function assignCommonHeaderData()
        {
            $this->setShopId();
            $id_shop = (int)$this->shop->id;
            $shop_name = Configuration::get('PS_SHOP_NAME', null, null, $id_shop);
            $path_logo = $this->getLogo();
            $customer = new Customer((int)$this->order->id_customer);
     
            $this->smarty->assign(array(
                'logo_path' => $path_logo,
     
                'img_update_time' => Configuration::get('PS_IMG_UPDATE_TIME'),
                'date' => $this->date,
                'title' => $this->title,
                'shop_name' => $shop_name,
                'shop_details' => Configuration::get('PS_SHOP_DETAILS', null, null, (int)$id_shop),
                'width_logo' => $width,
                'height_logo' => $height,
                'customer_id' => sprintf("%04d", $customer->id),
                'customer_email' => $customer->email
            ));
        }
}

Je joins le fichier tout prêt : Override mail facture PDF PS (21 téléchargements)

Ensuite il faut afficher la variable {$customer_email} créé, dans la facture. Il faut aller à la racine de votre site, dans le dossier PDF. Cherchez ensuite le invoice.tpl.

Pour ma part je mets l’adresse mail sous l’adresse par exemple à la ligne 35 :

<!-- Invoicing -->
	<tr>
		<td colspan="12">
			{$addresses_tab}
			{$customer_email}
		</td>
	</tr>

Vous pouvez maintenant aller dans l’onglet commande et vérifier cela sur une facture.
Si cela ne s’affiche pas, pensez à vider le cache de votre Prestashop.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *