Právě je 18 kvě 2021 01:37

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvek: 1 ] 
Autor Zpráva
 Předmět příspěvku: Magento - Česká PDF Faktura - Faktura jako příloha v emailu
PříspěvekNapsal: 18 lis 2014 16:29 
C4 zákazník

Registrován:
17 říj 2014 13:55
Příspěvky:
19
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
příloha-faktura.jpg [ 147 KiB | Zobrazeno 6983 krát ]
Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvek: 1 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
Magento Hosting
Návody pro C4

© 2009-2021 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz