Ziel des Blogs
Nachdem wir diesen Blog gelesen haben, können wir das Rechnungs-PDF nach Kundennamen generieren.
Problem Statement
Zur Zeit,
Anforderung
Wir müssen die folgenden Dateien ändern, um das Problem zu beheben. Wir werden die entsprechende Funktion und Definition der Klassendatei überschreiben, um Änderungen in Core-Dateien zu vermeiden. Unten finden Sie eine Liste der Klassendateien, die überschrieben werden.
root / classes / pdf / HTMLTemplateInvoice.php
Verfahren zur Lösung des Problems
1. Erstellen Sie die Datei HTMLTemplateInvoice.php im Pfad Überschreibe \ classes \ pdf und unter dem Code einfügen. Dadurch wird der Dateiname der Rechnung gespeichert.
<? php / ** * @override HTMLTemplateInvoice.php * / class HTMLTemplateInvoice erweitert HTMLTemplateInvoiceCore {/ ** * Gibt den Dateinamen der Vorlage zurück * * @return Zeichenfolge Dateiname * / public function getFilename () {$ id_lang = Context :: getContext () -> sprache-> id; $ id_shop = (int) $ this-> order-> id_shop; $ format = '% 1 $ s% 2 $ 06d'; if (Konfiguration :: get ('PS_INVOICE_USE_YEAR')) {$ format = Konfiguration :: get ('PS_INVOICE_YEAR_POS')? '% 1 $ s% 3 $ s-% 2 $ 06d': '% 1 $ s% 2 $ 06d-% 3 $ s'; } / * Änderungen gestartet *, um den Kundennamen hinzuzufügen * / $ customer = neuer Kunde ((int) $ this-> order-> id_customer); return sprintf ($ format, Configuration :: get ('PS_INVOICE_PREFIX', $ id_lang, null, $ id_shop), $ this-> order_invoice-> Nummer, Datum ('Y', strtotime ($ this-> order_invoice-> date_add) )).'_ '. $ customer-> Vorname.'_'. $ customer-> lastname. '. pdf'; / * Änderungen Ende * /}}
2. Nach dem Erstellen der PHP-Datei im Überschreibungsordner. Leeren Sie den Cache aus der Back-Office-> Erweiterte Parameter -> Leistung. 3. Generieren Sie jetzt die Rechnung, indem Sie zu navigieren Back-Office-> Bestellungen.
Siehe untenstehende Screenshots
Klicken Sie hier, um das gesamte Projekt herunterzuladen.
Zusammenfassung
Nach dem oben beschriebenen Verfahren können Sie den Rechnungsnamen ändern.