Zend Framework:为控制器的每个动作添加数据到布局

时间:2011-12-20 09:47:57

标签: php zend-framework web-applications zend-layout zend-controller-plugin

我正在编写一个Web应用程序,我需要在一个特定控制器的所有操作中返回/计算的所有数据,以将数据返回到布局(而不是视图)。

因此,在每个动作之后,需要将控制器变量传递给布局,以便布局可以使用它。

详细地说,我想将计算出的数据存储在头部的jSon中。

任何有关如何做到这一点的想法? 我想到了一个控制器插件,但我不知道如何访问所需的参数然后我真的不想为所有这些使用单例。

2 个答案:

答案 0 :(得分:2)

有人已经问了这样的问题。您可能会发现以下网址很有用。

Passing values to the Layout in Zend Framework.....?

答案 1 :(得分:1)

让我们使用,这个方法在每个动作之前执行

public function preDispatch() {
}

例如

public function preDispatch()
{
        //calculate something
        //this is an example
        if($this->getRequest()->getActionName()=="admin")
        {
            $this->_helper->layout->setLayout('admin');
        }
        else
        {
            $this->_helper->layout->setLayout('user');
        }
}