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>

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 がトリガーされず、'test' を表示できないことです :-(

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 に答える