我的模块有2个文件:etc / config.xml和Model / Observer.php
的Config.xml:
<config>
<global>
<cache>
<types>
<DN_js_module module="COMP_dn_js" translate="DN Cache">
<label>DN Cache (JS CSS)</label>
<description>Refresh Javascript and CSS (DN)</description>
<tags>COMP_DN_JSCSS</tags>
</DN_js_module>
</types>
</cache>
<events>
<DN_trigger>
<observers>
<comp_dncache>
<type>singleton</type>
<class>dncache/observer</class>
<method>setCache</method>
</comp_dncache>
</observers>
</DN_trigger>
</events>
</global>
</config>
Observer.php:
class COMP_DNCache_Model_Observer extends Mage_Adminhtml_CacheController
{
public function __construct(){
}
public function setCache($observer){
die('test');
}
}
因此,config.xml为Magento中的缓存列表添加了一个额外选项。当它刷新时,我希望公共函数setCache()运行,并且(在这种情况下)显示输出:'test'
现在的问题是,setCache没有被触发,我无法进行“测试”以显示: - (
答案 0 :(得分:1)
假设您在代码中调度事件dn_trigger
e.g
Mage::dispatchEvent(
'dn_trigger',
array('xyz' => $xyz, )
);
在 Observer.php:
中class COMP_DNCache_Model_Observer
{
public function __construct(){
}
public function setCache($observer){
die('test');
}
}