当Magento订单生成时,如何触发电子邮件?

3
我需要为以下问题提供解决方案: 1)客户下订单 2)商店老板收到电子邮件,但没有价格信息(例如包装清单)
我需要编辑哪些文件(我已经阅读了很多帖子,但它们似乎没有提到文件路径)。
谢谢。

1
请查看app/locale/en_US/template/email/sales/order_new.html - 我认为您需要为客户和管理员分别编写自定义逻辑的电子邮件。 - kalenjordan
@sparcksoft,那正是我所做的。我会找到代码并将其发布为答案。 - Krista K
大家好,我找到了这个链接:http://www.atwix.com/magento/emails-for-custom-events/看起来很不错,唯一的问题是当我按照步骤操作时,它会发送一封邮件,但所有变量都为空(尽管我将邮件内容从新订单模板中粘贴复制过来)。 - Ryan Dorn
3个回答

1

实现的两种可能方式:

  1. 您可以为类 Mage_Sales_Model_Order 创建一个模型重写,并覆盖函数 Mage_Sales_Model_Order::sendNewOrderEmail,通过使用不同的模板向商店所有者发送电子邮件。

  2. 您可以将配置条目 "销售电子邮件/订单/发送订单电子邮件副本到" 设置为无(以便商店所有者不会收到与客户相同的电子邮件),并实现一个观察者来捕获事件 sales_order_place_after。在观察者函数中,您可以使用没有价格信息的模板向商店所有者发送电子邮件。


谢谢Oleg。根据您的经验,哪种方法最可行?本质上,我只需要发送两次相同的电子邮件,但其中一封没有价格。 - Ryan Dorn

1
我知道以前有一个方法可以实现这个功能,但是现在不行了。我已经尝试了所有可能的方法,目前我们正在抄送客户通知电子邮件。等我们完成网站升级后,我将不得不重新添加我的方法。我相信它在app/core/Mage/Sales/Model/Order.php中,可能在public function sendNewOrderEmail()中。
看这张图片:Magento Transaction Emails 我记得在客户通知发送后,在一个文件中硬编码了另一个通知发给管理员,但是将事务订单通知电子邮件的模板ID硬编码为8。现在,我以某种“正确”的方式实现了它,但不知道如何触发此事务性电子邮件与客户订单通知同时发生。

0

在您的自定义模块中,只需在“sales_order_save_after”后发送一个事件。 在观察者文件中捕获此事件并在观察者上放置您的自定义代码。 阅读此内容


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接