1

1つのテーマの特定のタスクに対して多数のオブザーバーをロードするモジュールがあります。この特定のモジュールを必要としないモバイルテーマを設定しました。そのテーマのモジュールを無効にするにはどうすればよいですか?Magento
の回答を読みましたが、プログラムでモジュールを無効にする方法は?モジュールにコントローラーがないので、これは私の場合にはあまり役に立ちません。

パッケージ名を確認していますif (Mage::getSingleton('core/design_package')->getPackageName() == 'package') return true;が、これは観察されたものでは機能せずcore_collection_abstract_load_after、クラッシュするだけです。そのため、処理時間を節約するために、何もロードしないようにします。

4

1 に答える 1

2

オブザーバーシステムの初期化時にすでにロードされているため、magento から内部の magento モジュールを無効にすることはできません。

できることは、オブザーバーを無効にすることです。

Mage::getConfig()->setNode('frontend/events/yourEventName/observers/yourObserverName/type', 'disabled');

これはあらゆるイベントで、特にあなたのcore_collection_abstract_load_after

于 2013-01-25T20:12:49.943 に答える