Cel bloga
Po przeczytaniu tego bloga będziemy mogli wygenerować fakturę PDF według nazwy klienta.
Problem Statement
W tej chwili,
Wymaganie
Musimy zmodyfikować poniższe pliki, aby naprawić to samo. Nadpisujemy odpowiednią funkcję i definicję pliku klasy, aby uniknąć jakichkolwiek zmian w plikach podstawowych. Poniżej znajduje się lista plików klas, które zostaną nadpisane
root / classes / pdf / HTMLTemplateInvoice.php
Procedura rozwiązania problemu
1. Utwórz plik HTMLTemplateInvoice.php na ścieżce zastąp \ klas \ pdf i umieść pod nim kod. To spowoduje zapisanie nazwy pliku faktury.
<? php / ** * @override HTMLTemplateInvoice.php * / class HTMLTemplateInvoice extends HTMLTemplateInvoiceCore {/ ** * Zwraca szablon nazwy pliku * * @return ciąg nazwy pliku * / public function getFilename () {$ id_lang = Kontekst :: getContext () -> język-> id; $ id_shop = (int) $ this-> order-> id_shop; $ format = '% 1 $ s% 2 $ 06d'; if (Konfiguracja :: get ("PS_INVOICE_USE_YEAR")) {$ format = Konfiguracja :: get ("PS_INVOICE_YEAR_POS")? "% 1 $ s% 3 $ s-% 2 $ 06d": "% 1 $ s% 2 $ 06d-% 3 $ s"; } / * zmiany rozpoczęte *, aby dodać nazwę klienta * / $ klient = nowy klient ((int) $ this-> order-> id_customer); return sprintf ($ format, Konfiguracja :: 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'; / * zmienia koniec * /}}
2. Po utworzeniu pliku php w folderze override. Wyczyść pamięć podręczną z Back-office-> Advance Parameter -> Performance. 3. Teraz wygeneruj fakturę, przechodząc do Back-office-> Orders.
Zobacz poniższe zrzuty ekranu
Kliknij tutaj, aby pobrać cały projekt.
Podsumowanie
Po wykonaniu powyższej procedury będziesz mógł zmienić nazwę faktury.