我正面临一个问题,我想知道你是否可以帮助我..
我需要在以下事件中更新我的确认电子邮件:checkout_onepage_controller_success_action,并且只有在我的更新完成后才发送..
问题是我找不到代码中发送确认电子邮件的位置?它可能不是一个事件的观察者吗?
也许你可以帮我解决这个问题,因为我需要更新这封电子邮件,其中包含一些我收到确认后才能获得的重要信息。
无论如何,我祝你周日愉快,也许你能帮助我,
为您的不同项目提供最佳服务,
安塞尔姆
PS我正在使用magento 1.4.0.2
答案 0 :(得分:1)
在课程Mage_Sales_Model_Order
内部,有一个函数sendNewOrderEmail
可以触发订单的电子邮件。这是由我的安装中的结帐模型(Mage_Checkout_Model_Type_Onepage
,第741行)调用的。根据您要查找的信息类型,您可能无法保证在框架要发送电子邮件时此信息可用。
如果是这种情况,您可以覆盖sales_order类并更改该函数的内容。您可以覆盖该功能以检查是否存在必要的数据,并仅在数据可用时发送,而不是立即发送电子邮件。如果数据不可用,您可能希望将其添加到某种作业队列中,以便定期检查是否有正确的信息,并在必要时发送。
覆盖sales_order类本身的原因是框架中有几个其他地方调用sendNewOrderEmail
函数,并更改它g