Comment générer une facture Prestashop par nom de client
Voulez-vous générer la facture par nom de client au lieu des numéros ennuyeux ? C'est tellement simple - je vais vous montrer comment le faire!
Êtes-vous prêt? Suivez-moi.
Avant de faire quoi que ce soit d'autre, assurez-vous d'abord de sauvegarder votre site Web / votre fichier. Quand vous avez fini, allons-y.
Étape I - Modifier la fonction getFilename()
Ouvrez et éditez la fonction getFilename() dans votre-website/classes/pdf/HTMLTemplateInvoice.php en utilisant votre éditeur favori.
Étape II - Obtention de l'objet client: Fonction getFilename() (ligne 500):
public function getFilename()
{
$id_lang = Context::getContext()->language->id;
$id_shop = (int)$this->order->id_shop;
$format = '%1$s%2$06d';
Changez-le pour:
public function getFilename()
{
$id_lang = Context::getContext()->language->id;
$id_shop = (int)$this->order->id_shop;
$format = '%1$s%2$06d';
$customer = new Customer((int)$this->order->id_customer);
Étape III - Retour avec le nom et le numéro
Regardez dans ce code:
return sprintf(
$format,
Configuration::get('PS_INVOICE_PREFIX', $id_lang, null, $id_shop),
$this->order_invoice->number,
date('Y', strtotime($this->order_invoice->date_add))
).'.pdf';
Changez-le pour:
return sprintf(
$format,
Configuration::get('PS_INVOICE_PREFIX', $id_lang, null, $id_shop),
$this->order_invoice->number,
date('Y', strtotime($this->order_invoice->date_add))
).'_'.$customer->firstname.'_'.$customer->lastname.'.pdf';
Finale - Profitez de votre résultat
Le nom de la facture sera IN_number_customername.pdf. Par exemple: IN000001_Natalia_Eva.pdf.
C'est cool, hein ? N'oubliez pas notre blog pour trouver les tutoriels utiles de Prestashop.
Voir la vidéo pour le changer plus facilement.
Bon week-end!