2011-06-22 143 views
2

我想创建一个拦截所有外发邮件,并改变主题的模块。Magento的:拦截所有外发邮件

这可能吗?邮件发送时是否有事件发送?

如果没有,我怎么能至少覆盖订单电子邮件/发票的电子邮件地址?

在此先感谢!

回答

5

中的所有邮件都通过“核心/ email_template”的模式发送,所以您可以覆盖其方法称为getTemplateSubject()这样的目的。不幸的是,没有派发任何事件。

+0

getTemplateSubject()是神奇的方法。实际上,getProcessedTemplateSubject()方法应该被覆盖,因为这里有过滤可以中断在重写的getTemplateSubject()中所做的更改。 – Zyava

+0

@Zyava,但如果更改getProcessedTemplateSubject(),则可能会打破主题模板变量替换的逻辑。但是,如果您正在使用getTempalateSubject(),则您也可以指定自己的变量进行替换。无关紧要,因为Magento使用getter而不是调用getData('template_subject')。 –