zend-framework – 从Zend Controller插件中获取View对象

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了zend-framework – 从Zend Controller插件中获取View对象脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的控制器中,我有一个postDispatch来整合我的flashmessenger消息:

public function postDispatch()
{       
    $messages = $this->_helPEr->getHelper ( 'FlashMessenger' )
        ->getMessages ();

    if ( $this->_helper->getHelper ( 'FlashMessenger' )
        ->hascurrentMessages () )
    {
        $messages = array_merge ( $messages,$this->_helper->getHelper ( 'FlashMessenger' )
            ->getCurrentMessages () );
        $this->_helper->getHelper ( 'FlashMessenger' )
            ->clearCurrentMessages ();
    }

    $this->view->alert = $messages;
}

我想把它变成一个Controller插件.

更新:我意识到为什么我需要这个 – 我希望在JSON上下文调用时以JSON方式传递我的flash消息.除非将消息添加到View对象,否则我不会收到消息.

我能够将消息放入数组中,但我不知道如何将它们传递给视图:

class Plugin_FlashMessenger extends Zend_Controller_Plugin_Abstract
{
    public function postDispatch($request)
    {
        $flashmessenger = Zend_Controller_Action_Helperbroker::getstaticHelper ( 'FlashMessenger' );

        $messages = $flashmessenger->getMessages ();
        if ( $flashmessenger->hasCurrentMessages () )
        {
            $messages = array_merge ( $messages,$flashmessenger->getCurrentMessages () );
            $flashmessenger->clearCurrentMessages ();
        }

        // THIS LINE IS WRONG. HOW DO I SEND $messages TO THE VIEW?
        $this->view->alert = $messages;
    }
}

奖金问题 – 这是实现这一目标的正确方法吗?谢谢!

解决方法

@H_301_28@ 我在寻找相同的东西时发现了你的帖子.基于 this thread,有两种简单方法可以实现它.

一:如果您的视图在bootstrap期间初始化(resources.view [] =在您的application.ini中),您可以简单地调用

$view = Zend_Controller_Front::getInstance()
        ->getParam('bootstrap')
        ->getResource('view');

二:如果您的视图在引导期间未初始化:

$vieWrenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('vieWrenderer');
if (null === $vieWrenderer->view) {
    $vieWrenderer->inITView();
}
$view = $vieWrenderer->view;

脚本宝典总结

以上是脚本宝典为你收集整理的zend-framework – 从Zend Controller插件中获取View对象全部内容,希望文章能够帮你解决zend-framework – 从Zend Controller插件中获取View对象所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。