0

当产品发送给朋友时,寻找 Mage_Sendfriend 模块的体面观察者。我只是追踪它,并没有看到任何立即有用的东西。模块中编写了一个调度,它实际上是在加载发送给朋友的表单时触发,而不是在实际提交时触发。

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_afterandmodel_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.

在您的配置中,您只需让节点查找此事件,并从观察者调用一种方法。这很简单。

于 2012-09-10T23:29:40.213 回答