如何在Zend Framework中包含页眉和页脚?

时间:2009-10-26 23:50:14

标签: zend-framework zend-layout

我想让Zend_Layout包含header.phtml和footer.phtml与[layouy name] .phtml。

我该怎么做?我试图在Zend_Layout,Zend_Layout_Controller_Plugin_Layout中读取代码。我还是弄不清楚..

4 个答案:

答案 0 :(得分:23)

您可以在layout.phtml文件中包含页眉和页脚文件。这是一个例子:

<div id="header"><?= $this->render('layouts/header.phtml') ?></div>
<div id="nav"><?= $this->render('layouts/nav.phtml') ?></div>
<div id="content"><?= $this->layout()->content ?></div>
<div id="footer"><?= $this->render('layouts/footer.phtml') ?></div>

答案 1 :(得分:7)

cballou的答案很可能是你想要的,但我想我会把它放在那里好好衡量。如果您想在网站的不同部分呈现单独的页眉和页脚视图脚本,可以在每个控制器中执行此操作,如下所示:

Zend_Loader::loadClass('Zend_View');
$header = new Zend_View();
//Set header variables here
$this->view->header = $header->render('header.phtml');

然后使用$ this-&gt;标头从布局中拉出渲染的标题。与页脚一样。

答案 2 :(得分:2)

另一种方式:

这将进入控制器:

$this->view->header = "header.phtml";

这将进入视图:

include($this->header); 

即使我们不使用控制器(但仅在视图中),我们也可以使用:

include("header.phtml");

答案 3 :(得分:1)

我意识到这个提出的问题已经过了4年,但是对于那些发生在这个问题上并且没有意识到用最新的ZF2做更好的方法的人来说,这里的问题是&#39更好的方式&#39; - Zend Framework 2 - How to include partial from library