我的 magento 站点中有两个根类别。一种是“家居用品”,一种是“办公用品”。
这两个根类别也有一些子类别。
我想将“家居产品”相关订单发送到这个电子邮件地址“email_home@example.com”,
并将“办公产品”相关订单发送到此电子邮件地址“email_office@example.com”。
我将如何做到这一点?
最佳答案
我建议你写自己的观察者来订购。
sales_order_place_after
事件最适合您的目的。
如果买家只能将 1 个类别的商品添加到购物车。
您的模块应该:
发送电子邮件
public function sendOrder(){
$order = $observer->getEvent()->getOrder();
...
//Implement logic here
...
$emailTemplate = Mage::getModel('core/email_template')
->loadDefault('your_template');
$emailTemplateVariables = array();
$emailTemplateVariables['order'] = $order;
$emailTemplate->setSenderName('Your shops name');
$emailTemplate->setSenderEmail('addres@from.com');
$emailTemplate->setTemplateSubject(Subject');
$emailTemplate->send('to@addres.com','Name', $emailTemplateVariables);
}
更新 1
首先,我坚持让你看到我在评论区提供的链接。
然后:
创建模块:
真的
本地的
这会告诉 magento,在 app/code/local/Company/Module 中有一些有趣的东西值得关注。
对于你的模块,我认为这就足够了:
Company
-Module
--etc
---config.xml
--Model
---Observer.php
--Helper
---Data.php
重要提示:我们将 catch Magento 的事件。不是我们的。
配置.xml:
<?xml version="1.0"?>
<config>
<modules>
<Company_Module>
<version>0.1.0</version>
</Company_Module>
</modules>
<global>
<models>
<company_module>
<class>Company_Module_Model</class>
</company_module>
</models>
<helpers>
<cmod>
<class>Company_Module_Helper</class>
</cmod>
</helpers>
<events>
<sales_order_place_after>
<observers>
<sales_order_place_after_observer>
<class>company_module/observer</class>
<method>handleOrder</method>
</sales_order_place_after_observer>
</observers>
</sales_order_place_after>
</events>
</global>
</config>
Data.php - 它是空的,但它应该是。
class Company_Module_Helper_Data extends Mage_Core_Helper_Abstract{
}
观察者.php
class Company_Module_Model_Observer{
public function handleOrder($observer){
$order = $observer->getEvent()->getOrder();
...
//Implement logic here
...
$emailTemplate = Mage::getModel('core/email_template')
->loadDefault('your_template');
$emailTemplateVariables = array();
$emailTemplateVariables['order'] = $order;
$emailTemplate->setSenderName('Your shops name');
$emailTemplate->setSenderEmail('addres@from.com');
$emailTemplate->setTemplateSubject(Subject');
$emailTemplate->send('to@addres.com','Name', $emailTemplateVariables);
}
}
关于magento - 如何在 magento 中发送基于类别的订单电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8265989/