Objectif du blog
Après avoir lu ce blog, nous pourrons générer la facture PDF par nom de client.
Énoncé du problème
Actuellement,
Exigence
Nous devons modifier les fichiers ci-dessous pour résoudre le même problème. Nous allons redéfinir la fonction correspondante et la définition du fichier de classe afin d'éviter toute modification des fichiers Core. Vous trouverez ci-dessous la liste des fichiers de classe qui seront remplacés.
root / classes / pdf / HTMLTemplateInvoice.php
Procédure pour résoudre le problème-
1. Créer un fichier HTMLTemplateInvoice.php sur le chemin remplacer \ classes \ pdf et mettez le code ci-dessous dedans. Cela permettra de générer le nom de fichier de la facture.
<? php / ** * @override HTMLTemplateInvoice.php * / class HTMLTemplateInvoice étend HTMLTemplateInvoiceCore {/ ** * Retourne le nom de fichier du modèle * * @nom de chaîne de caractères * / fonction publique getFilename () {$ id_lang = Context :: getContext () -> langue-> id; $ id_shop = (int) $ this-> order-> id_shop; $ format = '% 1 $ s% 2 $ 06d'; if (Configuration :: get ('PS_INVOICE_USE_YEAR')) {$ format = Configuration :: get ('PS_INVOICE_YEAR_POS')? '% 1 $ s% 3 $ s-% 2 $ 06d': '% 1 $ s% 2 $ 06d-% 3 $ s'; } / * changements commencés * pour ajouter le nom du client * / $ client = nouveau client ((int) $ this-> order-> id_customer); return sprintf ($ format, Configuration :: get ('PS_INVOICE_PREFIX', $ id_lang, null, $ id_shop), $ this-> order_invoice-> numéro, date ('Y', strtotime ($ this-> order_invoice-> date_add) )) .'_ '. $ client-> prénom .'_'. $ client-> nom. '. pdf'; / * changements finissent * /}}
2. Après avoir créé le fichier php dans le dossier de remplacement. Vider le cache du Back-office-> Paramètre avancé -> Performance. 3. Maintenant, générez la facture en accédant à la Back-office-> Commandes.
Voir ci-dessous les screenshots
Cliquez ici pour télécharger le projet complet.
Résumé
Après avoir suivi la procédure ci-dessus, vous pourrez modifier le nom de la facture.