Obiettivo del blog
Dopo aver letto questo blog, saremo in grado di generare il PDF della fattura in base al nome del cliente.
Dichiarazione problema
Attualmente,
Requisito
Abbiamo bisogno di modificare i file qui sotto per risolvere lo stesso. Sostituiremo la funzione e la definizione corrispondenti del file di classe per evitare qualsiasi cambiamento nei file Core. Di seguito sono elencati i file di classe che verranno sovrascritti-
radice / classi / pdf / HTMLTemplateInvoice.php
Procedura per risolvere il problema-
1. Creare il file HTMLTemplateInvoice.php sul percorso sovrascrivere \ Classes \ pdf e metti sotto il codice in esso. Questo salverà generare il nome file della fattura.
<? php / ** * @override HTMLTemplateInvoice.php * / class HTMLTemplateInvoice estende HTMLTemplateInvoiceCore {/ ** * Restituisce il nome file del modello * * @return string nomefile * / public function getFilename () {$ id_lang = Context :: getContext () -> language-> 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'; } / * modifiche avviate * per aggiungere il nome del cliente * / $ cliente = nuovo cliente ((int) $ this-> order-> id_customer); return sprintf ($ format, Configuration :: get ('PS_INVOICE_PREFIX', $ id_lang, null, $ id_shop), $ this-> order_invoice-> numero, data ('Y', strtotime ($ this-> order_invoice-> date_add) )) .'_ '. $ cliente-> nome .'_'. $ cliente-> cognome. '. pdf'; / * cambia fine * /}}
2. Dopo aver creato il file php nella cartella override. Cancella la cache dal Back-office-> Advance Parameter -> Performance. 3. Ora, genera la fattura navigando verso Back-office-> Ordini.
Fai riferimento agli screenshot qui sotto
Clicca qui per scaricare il progetto completo.
sommario
Dopo aver seguito la procedura sopra, sarà possibile modificare il nome della fattura.