2011-06-22 64 views
2

我想創建一個攔截所有外發郵件,並改變主題的模塊。Magento的:攔截所有外發郵件

這可能嗎?郵件發送時是否有事件發送?

如果沒有,我怎麼能至少覆蓋訂單電子郵件/發票的電子郵件地址?

在此先感謝!

回答

5

中的所有郵件都通過「核心/ email_template」的模式發送,所以您可以覆蓋其方法稱爲getTemplateSubject()這樣的目的。不幸的是,沒有派發任何事件。

+0

getTemplateSubject()是神奇的方法。實際上,getProcessedTemplateSubject()方法應該被覆蓋,因爲這裏有過濾可以中斷在重寫的getTemplateSubject()中所做的更改。 – Zyava

+0

@Zyava,但如果更改getProcessedTemplateSubject(),則可能會打破主題模板變量替換的邏輯。但是,如果您正在使用getTempalateSubject(),則您也可以指定自己的變量進行替換。無關緊要,因爲Magento使用getter而不是調用getData('template_subject')。 –