我通过扩展Zend_Controller_Action_Helper_Abstract来编写自定义Helper类。在这个Helper类中,我想利用FlashMessenger在需要时显示消息。我想区分警告,成功和错误信息(不,我不是种族主义者)。
在一个扩展Zend_Controller_Action
的类中,我这样做,见下文。
$this->_helper->FlashMessenger(array('error' => 'An error occured'));
编写扩展Zend_Controller_Action_Helper_Abstract
的Helper类时,可以同时使用getActionController()
和getHelper
方法获取Helpername。见下文。
$this->getActionController()->getHelper('FlashMessenger');
我想将array('error' => 'An error occured')
作为参数添加到getHelper mehod中的FlashMessenger助手。我想知道,是否可以通过getHelper向FlashMessenger助手添加参数?如果没有,那你怎么解决这个问题?
答案 0 :(得分:1)
此link提供了解决方案:
因此,如果有人想要从外部设置Flash消息 动作控制器,然后你应该使用这样的东西 Zend_Controller_Action_HelperBroker类及其静态助手 getStaticHelper。
$flashmessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
$flashmessenger->addMessage(array('error' => 'An error occured'));
由于getHelper('FlashMessenger')
会返回Zend_Controller_Action_Helper_FlashMessenger
的实例,您应该可以这样做:
$this->getActionController()->getHelper('FlashMessenger')->addMessage(array('error' => 'An error occured'));