Dobrý den, děkuji za odpověď. Povedlo se mi na základě Vašeho návodu zpřístupnit fakturu v Zákaznickém účtu v sekci Moje objednávky. Nicméně bych zde rád uveřejnil návod pro všechny ty, kteří stejně jako já, již měli například zakoupený modul Česká PDF Faktura od EasyCommerce, který je aktuální pro verzi Magenta 1.9.x a chtěli by, aby se faktura zaslala v příloze v předem již nadefinovaným e-mailu dle nastavené šablony v nastavení.
1) Změnit soubor app/code/core/Mage/Core/Model/Email/Template/Mailer.php Část 1, přidat protected $emailTemplate; (viz. kód):
class Mage_Core_Model_Email_Template_Mailer extends Varien_Object { /** * List of email infos * @see Mage_Core_Model_Email_Info * * @var array */ protected $_emailInfos = array();
// Přidejte následující tučně zvýrazněný řádek
protected $emailTemplate;
------------------------------------------------------------------------ Část 2 - aktualizujte the function send()
public function send() {
// Dvěma lomítky zakomentujte tento originál $emailTemplate = Mage::getModel('core/email_template'); // Vložte pod něj tyto čtyři následující řádky:
if ($this->emailTemplate) $emailTemplate = $this->emailTemplate; else $emailTemplate = Mage::getModel('core/email_template');
------------------------------------------------------------------------------------ Část 3 - přidat funkci na konec kódu před poslední }:
public function addAttachment(Zend_Pdf $pdf, $filename){ $file = $pdf->render();
$this->emailTemplate = Mage::getModel('core/email_template');
$attachment = $this->emailTemplate->getMail()->createAttachment($file); $attachment->type = 'application/pdf'; $attachment->filename = $filename; }
-------------------------------------------------------------------------------- 2) Aktualizujte soubor app/code/core/Mage/Sales/Model/Order/Invoice.php (přidáním 2 nových řádků)
Update sendEmail function
$mailer = Mage::getModel('core/email_template_mailer');
// pod $mailer... přidejte následující dva tučně zvýrazněné řádky do těla kódu
$pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf(array($this)); $mailer->addAttachment($pdf,'invoice.pdf');
if ($notifyCustomer) { $emailInfo = Mage::getModel('core/email_info'); $emailInfo->addTo($order-
Výsledek můžete vidět v příloze. S pozdravem . . . Petr Banach
Přílohy: |
příloha-faktura.jpg [ 147 KiB | Zobrazeno 7189 krát ]
|
|