0

我的模块有 2 个文件:etc/config.xml 和 Model/Observer.php

配置.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>

观察者.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 没有被触发,我无法让“测试”显示:-(

4

1 回答 1

1

假设在您的代码中您正在调度事件dn_trigger

例如

 Mage::dispatchEvent(
     'dn_trigger',
     array('xyz' => $xyz, )
 );

Observer.php 中:

class COMP_DNCache_Model_Observer
{
    public function __construct(){
    }

    public function setCache($observer){
         die('test');
    }
}
于 2013-02-24T19:22:55.747 回答