在Magento发送任何好的Sendfriend事件?

时间:2012-09-10 21:01:39

标签: magento

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

3 个答案:

答案 0 :(得分:2)

查看触发的事件,以下是您可能会使用的一些事件:

controller_action_postdispatch_sendfriend_product_sendmail
controller_action_postdispatch_sendfriend
controller_action_postdispatch

在您要用于此活动的功能中:

$controller = $observer->getControllerAction();
... your code here

答案 1 :(得分:1)

您可能不得不求助于观察model_save_aftermodel_save_before事件,然后检查$observer->getEvent()->getObject()以查看它是否是您正在寻找的Mage_Sendfriend模型。

一个丑陋的解决方案,但有时候这些事件并不恰当地解决问题。

祝你好运!如果您发现任何好事,请告诉我们!

编辑:我还建议不要为此观察控制器,因为这不是非常模块化的。如果第三方模块为Sendfriend功能提供了另一个界面,则如果您观察到控制器操作,它将无法与您的模块一起使用。

答案 2 :(得分: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.

在您的配置中,您只需让节点查找此事件,然后从observer调用一个方法。 很简单。