Jak přiložit fakturu k emailu objednávky
Neděle, 05 Červen 2011 21:19
V dnešním krátkém, ale o to užitečnějším článku si ukážeme jak změnit kód prestashopu tak, aby se k informačnímu emailu při změně stavu objednávky připojila zároveň i faktura. Běžně se pouze pošle informace o tom, že si uživatel může stáhnout fakturu ve svém účtu na stránkách e-shopu. Nový prestashop však umožňuje i nákup bez registrace a poté je nemožné takovou fakturu stáhnout.
Jdeme hned na to, otevřeme si soubor: classes/orderHistory.php a najdeme si řádku 181 do ní vepíšeme tento kód
Krátce si kód popíšeme. První podmínka říká, že se pdf připojí pouze při změně objednávky na stav "Odesláno", nebo "Platba přijata". Tuto volbu si můžete libovolně změnit. Jednotlivé názvy šablon najdete v databázi v tabulce ps_order_state_lang. Pokud podmínka vyhovuje vygeneruje se faktura s názvem odpovídajícím ID objednávky resp. faktury.
Defaultně jsou k dispozici tyto názvy šablon:
- cheque - čeká na platbu šekem
- payment - platba přijata
- preperation - příprava zboží
- shipped - odesláno
- order_canceled - objednávka zrušena
- refund - odmítnuto
- payment_error - chyba platby
- outofstock - zboží není skladem
- bankwire - čeká na bankovní převod
K dispozici jich samozřejmě může být více v závislosti na nainstalovaných platebních modulech
Nyní ještě upravíme funkci pro odesílání maili z tohoto tvaru:
na tento:
Funkce byla testováno na prestashopu verze 1.4.0.17. Pro jistotu ještě upravený soubor můžete stahovat zde (orderHistory.php).


Je pravda, že pokud se odesílá balík na dobírku, může se stát, že zákazník dobírku nepřebere, a fakturu dostane. Nicméně pokud má e-shop pouze platby převodem nebo přes kartu dává to smysl. Navíc si uživatel může změnit při jakých stavech se faktura bude odesílat.