12
A
答えて
36
これは、Mage_Core_Controller_Varien_Action基本クラスがプレディスパッチイベントとポストディスパッチイベントを提供するので簡単です。
あなたはMage_Core_Controller_Varien_Actionクラスを開く場合は、二つの方法を見つける:preDispatch()とpostDispatch()
これらの方法は、いくつかのタスクを実行し、最も重要な3つのイベントをオフに解雇します。
controller_action_(pre|post)dispatch
controller_action_(pre|post)dispatch_{{routeName}}
controller_action_(pre|post)dispatch_{{fullActionName}}
fullActionNameは、ルート名、コントローラ名、および「_」で区切られたアクションの名前とすべて小文字です。 (参考のためMage_Core_Controller_Varien_Action::getFullActionName参照)
/app/code/local/FilFact/Test/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<FilFact_Test>
<version>1.0.0</version>
<FilFact_Test>
</modules>
<global>
<models>
<FilFact_Test>
<class>FilFact_Test_Model</class>
</FilFact_Test>
</models>
</global>
<frontend>
<routers>
<filfact>
<use>standard</use>
<args>
<module>FilFact_Test</module>
<frontName>filfact</frontName>
</args>
</filfact>
</routers>
<events>
<controller_action_predispatch_filfact_index_index>
<observers>
<FilFact_Test>
<class>FilFact_Test/Observer</class>
<method>indexPreDispatch</method>
</FilFact_Test>
</observers>
</controller_action_predispatch_filfact_index_index>
<controller_action_postdispatch_filfact_index_index>
<observers>
<FilFact_Test>
<class>FilFact_Test/Observer</class>
<method>indexPostDispatch</method>
</FilFact_Test>
</observers>
</controller_action_postdispatch_filfact_index_index>
</events>
</frontend>
</config>
/app/code/local/FilFact/Test/Model/Observer.php
<?php
class FilFact_Test_Model_Observer
{
public function indexPreDispatch(Varien_Event_Observer $observer)
{
// TODO: Your code
}
public function indexPostDispatch(Varien_Event_Observer $observer)
{
// TODO: Your code
}
}
関連する問題
- 1. 私は以下のようにデータフレーム持っているのPython
- 2. 私は以下のようにファイルを持っているパターン
- 3. 私は、XML以下のように持っているXSLT
- 4. 、私は以下のような配列を持っている
- 5. 私は以下のようなファイルを持っている
- 6. $の場所の変更は、私は以下のように、コントローラvideoCtrl持っ
- 7. 以下のように私は私のセットアップを持っているUIViewの
- 8. 私は以下のようなテキストファイル持っている値
- 9. XSDは - 私は、XSDファイルの以下のように持って
- 10. 私は以下のようなマトリックスクラスを持っています:
- 11. RelativeLayoutは、私は以下のようにrelativeLayoutを持って
- 12. 私は以下のようにリストを持って
- 13. 私は眼鏡を販売しているMagentoの店舗を持っているMagentoの
- 14. は、どのように私は以下のクラスを持っているシーケンス
- 15. は、私は以下のようにHTMLコードを持っているjQueryの
- 16. は、どのように私は以下のクラスを持っている
- 17. パターンは、私は以下のようにポリシーのクラスを持っている
- 18. は、どのように私は以下のクラスを持っているナビゲーションプロパティ
- 19. のTextArea - 以下のように私はHTMLを持っている行の
- 20. 私はこのように以下のHTMLページを持っているのUIWebView
- 21. 私は以下のようなモデル持っている私のキューブではSSAS
- 22. 私はJSON文字列以下のように持って
- 23. 私は以下のようにデータフレーム持って
- 24. Pythonは、私は以下のようなJSONを持って
- 25. どのように私は以下のようにメソッドを持って
- 26. 私は以下のように2つの移行を持っている
- 27. 以下のようにのContextMenuが、私はDataGrid列を持っているMVVM
- 28. 私は以下のようにオブジェクトの配列を持っている状態
- 29. は、私は以下のように一連の持っているウィンドウ
- 30. は、私は以下のようなファイルの束を持っているのpython
2つのイベントを提供して、他のモジュールがそれらに接続できるようにしたいと思いますか? – Simon
はい、私は次のような使い方をしています:次の文を追加してください: 'Mage :: dispatchEvent( 'test_index_index_before_action'、$ data);しかしそれは良くありません。以下の答えはより良いです。 – vietean