Как включить верхний и нижний колонтитулы с макетом в Zend Framework? - PullRequest
17 голосов
/ 27 октября 2009

Я бы хотел, чтобы Zend_Layout включал header.phtml и footer.phtml с [layouy name] .phtml.

Как мне это сделать? Я пытался читать коды в Zend_Layout, Zend_Layout_Controller_Plugin_Layout. Я до сих пор не могу понять это ..

Ответы [ 4 ]

23 голосов
/ 27 октября 2009

Вы можете включить файлы верхнего и нижнего колонтитула из файла 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>
7 голосов
/ 27 октября 2009

Cballou ответ, скорее всего, то, что вы хотите, но я подумал, что я добавлю это там для хорошей меры. Если вы хотите визуализировать отдельные скрипты верхнего и нижнего колонтитула в разных частях вашего сайта, вы можете сделать это из каждого контроллера следующим образом:

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

Затем используйте заголовок $ this->, чтобы вытащить отображаемый заголовок из макета. Аналогично с нижним колонтитулом.

2 голосов
/ 07 февраля 2011

Просто по-другому:

Это будет идти в контроллере:

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

Это будет отображаться в виде:

include($this->header); 

Даже если мы не используем контроллер (но только в виде), мы можем использовать:

include("header.phtml");
1 голос
/ 06 ноября 2013

Я понимаю, что этот вопрос задан 4 годами, но для тех, кто сталкивается с этим и не понимает, что есть лучший способ сделать это с последним ZF2, вот «лучший способ» - Zend Framework 2 - Как включить частичное из библиотеки

...