我可以设置一个观察者来监听其中一个控制器方法跳转,但是,我想将参数传递给观察者,我怎样才能在观察者中获取参数? arg_value
非常感谢
<events>
<controller_action_predispatch_mycompany_mymodule_controllername_recalculation>
<observers>
<mycompany_mymodule>
<class>Mycompany_Mymodule_Model_Observer</class>
<method>processgo</method>
<args>
<arg_name>arg_value</arg_name>
</args>
</mycompany_mymodule>
</observers>
</controller_action_predispatch_mycompany_mymodule_controllername_recalculation>
</events>
答案 0 :(得分:-1)
请尝试以下内容
<events>
<event_to_observe>
<observers>
<observer_name>
<type>singleton</type>
<class>Namespace_Module_Model_ObserverClass</class>
<method>observerMethod</method>
<args>
<arg_name>arg_value</arg_name>
</args>
</observer_name>
</observers>
</event_to_observe>
</events>
&#13;
<?php
/**
* Observer class
*/
class Namespace_Module_Model_ObserverClass {
/**
* Observer method
*
* @param Varien_Event_Observer $observer
* @return void
*/
public function observerMethod(Varien_Event_Observer $observer) {
$args = Mage::helper('ecmessenger')->getObserverArgs($observer, get_class($this), __FUNCTION__);
Mage::log($args, null, 'observer.log');
}
}
&#13;
确保Mage :: helper(&#39; ecmessenger&#39;)是您需要在config.xml中创建和指定的帮助程序
如果您有任何疑问,请告诉我