简体   繁体   中英

Why is my Magento Observer is not being triggered?

I have a custom Magento observer set up, but the code in it is not being run.

Here is the code in question: app/etc/modules/Peltinc_Salesrule.xml

<?xml version="1.0"?>
<config>
    <modules>
        <peltinc_salesrule>
            <active>true</active>
            <codePool>local</codePool>
        </peltinc_salesrule>
    </modules>
</config>

app/code/local/Peltinc/Salesrule/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <peltinc_salesrule>
            <version></version>
        </peltinc_salesrule>
    </modules>
    <global>
        <models>
            <peltinc_salesrule>
                <class>Peltinc_SalesRule_Model</class>
            </peltinc_salesrule>
        </models>
        <events>
            <sales_order_place_after>
                <observers>
                    <peltinc_salesrule_order_observer>
                        <type>singleton</type>
                        <class>Peltinc_SalesRule_Model_Order_Observer</class>
                        <method>insert_order_to_db</method>
                    </peltinc_salesrule_order_observer>
                </observers>
            </sales_order_place_after>
        </events>
    </global>
</config>

app/code/local/Peltinc/Salesrule/Model/Order/Observer.php

class Peltinc_SalesRule_Model_Order_Observer
{
    public function __construct()
    {
    }

    public function insert_order_to_db($observer)
    {
        Mage::log('In the observer');
        return $this;
    }
}

The log is never written when I make an order. I'm sure that I have something misconfigured somewhere, but I can't spot it. Any suggestions?

Jimmy,There are issue in xml peltinc_salesrule.xml should be Peltinc_Salesrule

<?xml version="1.0"?>
<config>
    <modules>
        <Peltinc_Salesrule>
            <active>true</active>
            <codePool>local</codePool>
        </Peltinc_Salesrule>
    </modules>
</config>

Also need to put module version and <class>Peltinc_SalesRule_Model_Order_Observer</class> to <class>peltinc_salesrule/order_observer</class>

<?xml version="1.0"?>
<config>
    <modules>
        <Peltinc_Salesrule>
            <version>1.0.0</version>
        </Peltinc_Salesrule>
    </modules>
    <global>
        <models>
            <peltinc_salesrule>
                <class>Peltinc_SalesRule_Model</class>
            </peltinc_salesrule>
        </models>
        <events>
            <sales_order_place_after>
                <observers>
                    <peltinc_salesrule_order_observer>
                        <type>singleton</type>
                        <class>peltinc_salesrule/order_observer</class>
                        <method>insert_order_to_db</method>
                    </peltinc_salesrule_order_observer>
                </observers>
            </sales_order_place_after>
        </events>
    </global>
</config>

I hope ,it will be working..... Let me know ,if you any query.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM