Zend framework zend框架布局

Zend framework zend框架布局,zend-framework,layout,Zend Framework,Layout,根据:要在zend应用程序中使用布局,我应该: $response = $this->getResponse(); $response->insert('header', $this->view->render('header.phtml')); $response->insert('sidebar', $this->view->render('sidebar.phtml')); $response->insert('footer', $thi

根据:要在zend应用程序中使用布局,我应该:

$response = $this->getResponse();
$response->insert('header', $this->view->render('header.phtml')); 
$response->insert('sidebar', $this->view->render('sidebar.phtml')); 
$response->insert('footer', $this->view->render('footer.phtml')); 
进入IndexController的init()函数,为每个操作生成页眉、页脚和侧边栏。 我想对我的所有视图使用相同的布局,我是否应该将这部分代码放入所有控制器???(我使用的是ZF1.11)


谢谢。

您想要一个默认布局。您可以在模板布局中进行调用。Zend Framework文档更好地展示了这一点:

您所指的blogpost已经有近5年的历史了,绝不能代表ZF 1.11的当前状态,您应该使用或您可以通过在引导中执行以下操作来初始化zend布局:

Zend_Layout::startMvc();
您还可以指定布局的存放位置

$layout = Zend_Layout::getMvcInstance();
$layout->setLayoutPath(__PATH_TO_LAYOUT_FOLDER_);

一旦设置到位,它将比在所有控制器中渲染相同的视图更有效

到目前为止,这更容易。在您的
应用程序.ini中
添加此行

resources.layout.layoutPath=APPLICATION\u PATH”/layouts/scripts/“
此路径上的默认布局将命名为
layout.phtml

如果要更改路径或默认布局,您可能需要在
应用程序.ini

resources.layout.layoutPath = APPLICATION_PATH "/layouts"
resources.layout.layout = master
在这种情况下,默认布局将是
master.phtml

要将默认布局更改为备用布局,只需添加以下内容:

public function preDispatch() {

        $this->_helper->layout->setLayout('admin');
    }

对于需要新布局的控制器,可以添加逻辑,以使备用布局仅应用于某些操作。

好的,谢谢您提供的链接,我不知道有新版本的教程。