观察者未被Magento调用

时间:2016-04-12 10:53:28

标签: php magento

有人可以指出这个观察者例子中的错误吗? 我一直在谷歌搜索和搜索,但一切都是徒劳的 以下是 magento \ app \ etc \ modules 中模块的代码,其名称为" Meteorify_Observerexample.xml"。

<config>
    <modules>
        <Meteorify_Observerexample>
            <codePool>local</codePool>
            <active>true</active>
        </Meteorify_Observerexample>
    </modules>
</config>

这是我的#34; config.xml&#34;的代码。在 magento \ app \ code \ local \ Meteorify \ Observerexample \ etc

 <?xml version="1.0"?>
<config>
    <modules>
        <Meteorify_Observerexample>
            <version>0.0.2</version>
        </Meteorify_Observerexample>
    </modules>
    <global>
        <models>
            <meteorifyobserverexample>
                <class>Observerexample_Model</class>
            </meteorifyobserverexample>
        </models>


        <events>
            <sales_order_place_before>
                <observers>
                    <Meteorify_Observerexample_Model_Observer>
                        <type>singleton</type>
                        <class>Meteorify_Observerexample_Model_Observer</class>
                        <method>example</method>
                    </Meteorify_Observerexample_Model_Observer>
                </observers>
            </sales_order_place_before>
        </events>
         </global>

</config>

这是我的代码&#34; Observer.php&#34;位于 magento \ app \ code \ local \ Meteorify \ Observerexample \ Model

    <?php
class Meteorify_Observerexample_Model_Observer {

    public function example($observer) {
        //$observer contains data passed from when the event was triggered.

        Mage::log($observer);

        Mage::log('We just made an Observer!');
        echo "The event has been captured";
    }

}
?>

我还试过删除缓存并通过添加Mage :: log($ name,null,&#39; events.log&#39;,true)来记录被触发的事件列表;在Mage.php文件中,所选事件从那里被触发。但观察者没有被调用给定的事件。 任何提示或帮助将受到高度赞赏。 感谢

1 个答案:

答案 0 :(得分:0)

我发现了这个错误 它出现在我的'Observer.php'中。我正在记录产生一些错误的$ observer对象。删除该行解决了问题。