所以我创建了一个视图帮助器来专门化/简化Flash Messenger帮助器的一些功能。
我看了很久,发现你应该能够通过下面这样的代码访问FlashMessenger助手:
$this->view->_helper->flashMessenger->getMessages();
这对我不管用。我可以访问视图,但不能访问_helper下的任何内容。我的助手类确实扩展了Zend_View_Helper_Abstract。是否必须显式地从视图脚本传入视图?
发布于 2012-02-07 05:25:33
Zend_Controller_Action的$_helper属性存储Zend_Controller_Action_HelperBroker的一个实例,因此您可以获取HelperBroker的一个实例,然后从那里获取FlashMessenger对象,而不是将它从视图传递给帮助器。
// inside your view helper
$messenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');现在,您可以从视图助手中访问Flash Messenger。您可以从应用程序中的任何位置执行相同的操作,以获得对任何Action Helper的引用。
另请注意,如果帮助器尚未创建,调用getStaticHelper将为您初始化它。
有关详细信息,请参阅Action Helpers - The Helper Broker。
https://stackoverflow.com/questions/9165769
复制相似问题