【发布时间】:2016-04-12 10:53:28
【问题描述】:
有人可以指出这个观察者示例中的错误吗? 我整天都在谷歌搜索和搜索,但都是徒劳的 这是我在 magento\app\etc\modules 中名为“Meteorify_Observerexample.xml”的模块的代码。
<config>
<modules>
<Meteorify_Observerexample>
<codePool>local</codePool>
<active>true</active>
</Meteorify_Observerexample>
</modules>
</config>
这是我在 magento\app\code\local\Meteorify\Observerexample\etc 中的“config.xml”代码
<?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>
这是我的“Observer.php”代码,位于 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, 'events.log', true); 记录正在触发的事件列表;在 Mage.php 文件中,并且从那里触发所选事件。但是没有为给定事件调用观察者。 任何提示或帮助将不胜感激。 谢谢
【问题讨论】: