0

製品が友人に送られるときに、Mage_Sendfriendモジュールの適切なオブザーバーを探しています。私はそれをたどっただけで、すぐに役立つものは何も見当たりません。モジュールに記述されたディスパッチが1つあります。これは、実際に送信されたときではなく、友達に送信フォームがロードされたときに実際に起動します。

4

3 に答える 3

2

トリガーされたイベントを見て、使用する可能性のあるイベントを次に示します。

controller_action_postdispatch_sendfriend_product_sendmail
controller_action_postdispatch_sendfriend
controller_action_postdispatch

そして、このイベントに使用したい関数では、次のようになります。

$controller = $observer->getControllerAction();
... your code here
于 2012-09-10T21:24:43.467 に答える
1

model_save_afterイベントとmodel_save_beforeイベントを観察し、それ$observer->getEvent()->getObject()が探しているMage_Sendfriendモデルであるかどうかを確認する必要がある場合があります。

醜い解決策ですが、問題をうまく解決するためにイベントが並んでいない場合があります。

幸運を!何か良いものがあれば教えてください!

編集:それはあまりモジュール化されていないので、私はこれについてコントローラーを観察することにも反対することをお勧めします。サードパーティのモジュールがSendfriend機能に別のインターフェイスを提供している場合、コントローラーのアクションを観察すると、そのモジュールはモジュールで機能しません。

于 2012-09-10T21:37:59.657 に答える
0

いつでもどこでもカスタムイベントをディスパッチできます。

Mage::dispatchEvent('any_name_for_your_custom_event',
array('key'=>$value,'key'=>$value,'key'=>$value)); //can pass how many values you want in this array.

また、構成では、ノードにこのイベントを検索させ、オブザーバーから1つのメソッドを呼び出します。簡単だ。

于 2012-09-10T23:29:40.213 に答える