我想讓Zend_Layout在[layouy name] .phtml中包含header.phtml和footer.phtml。如何在Zend Framework中包含具有佈局的頁眉和頁腳?
我該怎麼做?我嘗試閱讀Zend_Layout中的代碼Zend_Layout_Controller_Plugin_Layout。我仍然無法弄清楚它..
我想讓Zend_Layout在[layouy name] .phtml中包含header.phtml和footer.phtml。如何在Zend Framework中包含具有佈局的頁眉和頁腳?
我該怎麼做?我嘗試閱讀Zend_Layout中的代碼Zend_Layout_Controller_Plugin_Layout。我仍然無法弄清楚它..
你可以在你的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>
cballou的答案可能是你想要的,但我想我會把它扔在那裏,以便採取好的措施。如果你想在你的網站的不同部分來呈現不同的頁眉和頁腳視圖腳本,你可以從每個控制器內做到這一點,像這樣:
Zend_Loader::loadClass('Zend_View');
$header = new Zend_View();
//Set header variables here
$this->view->header = $header->render('header.phtml');
然後使用$這 - >頭拉呈現頭從你的佈局中。同樣與頁腳。
只是另一種方式:
這將大大控制器:
$this->view->header = "header.phtml";
這會在視圖:
include($this->header);
即使我們不使用控制器(但只有在視圖中)我們可以使用:
include("header.phtml");
我意識到這個問題是4歲,但對於那些發生在這個,並沒有意識到有一個更好的方式來做到這一點與最新的ZF2,這是'更好的方式' - Zend Framework 2 - How to include partial from library
我沒有知道我可以將呈現的html存儲在一個變量中!非常感謝! – Moon 2009-10-27 00:36:54