magento - 如何在 magento 中发送基于类别的订单电子邮件?

标签 magento

我的 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

    首先,我坚持让你看到我在评论区提供的链接。

    然后:
    创建模块:
  • 在 app/etc/modules/Company_Module.xml 文件中创建。与此类似的内容:




    真的
    本地的



    这会告诉 magento,在 app/code/local/Company/Module 中有一些有趣的东西值得关注。
  • 创建正确的文件夹和文件结构。
    对于你的模块,我认为这就足够了:
    Company
    -Module
    --etc
    ---config.xml
    --Model
    ---Observer.php
    --Helper
    ---Data.php
    
  • Magento 应该知道关于你的模块的一切。此外,您应该为事件定义观察者。
    重要提示:我们将 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/

    相关文章:

    大型 Magento 的 MySql 配置

    magento - 运送到多个地址,但支付一笔费用

    php - magento - 使用自定义属性的 addAttributeToSort 对产品集合进行排序 - 不起作用

    php - 我需要做哪些更改才能使 Magento 与 PHP 5.3 一起使用?

    玛根托 : Get all Shipping Rates

    javascript - Magento后端: How to add jscolor?

    magento - 将 .csv 导入 Magento 找不到所需的列 : sku

    magento - 将自定义模板添加到管理产品价格选项卡

    python - 将数据从 MySQL 数据库移植到 PostgreSQL

    php - Magento SOAP WebService -> 用户登录