2

私はこの行を見つけたと言います

Mage::dispatchEvent('catalog_product_is_salable_before', array(
    'product'   => $this
));

によって呼び出されるメソッドを見つけるにはどうすればよいですかMage::dispatchEvent、MagentoがこれらのMage::dispatchEvent行のいくつかを貼り付けていることを知りましたが、カスタマイズの目的でそれらのメソッドを作成していないので、どのように伝えることができるのか疑問に思っていますそれらの違い

4

2 に答える 2

2

Magentoには、メソッドを呼び出すイベントリスナーがあります。基本的にフレアを解放し、このdispatchEvent信号を待っている「オブザーバー」がいて、割り当てられたメソッドを呼び出します。

モジュールのを使用して、イベント/フレアのオブザーバーを呼び出しメソッドに割り当てますetc/config.xml

あなたはここでそれを行う方法についてのこの素晴らしいチュートリアルを読むことができます

デフォルトでどのイベントがあるか知りたい場合は、そのページにリンクがあります:Magentoイベントリスト(これは機能しません)申し訳ありません。

于 2013-03-06T02:57:14.420 に答える
1

マーシャルの回答は、イベントがどのように機能するか、およびイベントオブザーバーを割り当てる方法の良い要約を提供します。

ただし、特定のイベントディスパッチによって呼び出されるメソッドを正確に知りたい場合は、もう少し作業を行う必要があります。

この種のものに非常に便利なツールの1つはですn98-magerun。これは、Magentoに関連する日常的な開発タスクの多くを簡単に実行できるようにするためのコマンドラインです。

n98-magerunコマンドの1つはですdev:module:observer:listconfig.xmlこれは、アプリケーション全体のすべてのファイルに登録されているすべてのオブザーバーを一覧表示します。

次に、探している特定のイベント(この場合は)の出力を検索/grepできますcatalog_product_is_salable_before

于 2013-03-06T04:26:21.427 に答える