Как включить верхний и нижний колонтитулы с макетом в Zend Framework?
Я хочу, чтобы Zend_Layout включал header.phtml и footer.phtml с [layouy name].phtml.
Как мне это сделать? Я пытался читать коды в Zend_Layout, Zend_Layout_Controller_Plugin_Layout. Я все еще не могу понять это.
Ответы
Ответ 1
Вы можете включать файлы заголовка и нижнего колонтитула из файла 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>
Ответ 2
Ответ на cballou скорее всего то, что вы хотите, но я думал, что брошу его туда для хорошей меры. Если вы хотите визуализировать отдельные сценарии просмотра заголовка и нижнего колонтитула в разных частях вашего сайта, вы можете сделать это изнутри каждого контроллера следующим образом:
Zend_Loader::loadClass('Zend_View');
$header = new Zend_View();
//Set header variables here
$this->view->header = $header->render('header.phtml');
Затем используйте заголовок $this- > , чтобы вытащить обработанный заголовок из вашего макета. Аналогично с нижним колонтитулом.
Ответ 3
Еще один способ:
Это будет указано в контроллере:
$this->view->header = "header.phtml";
Это будет выглядеть:
include($this->header);
Даже если мы не используем контроллер (но только в представлении), мы можем использовать:
include("header.phtml");
Ответ 4
Я понимаю, что этот вопрос поставлен на 4 года, но для тех, кто случился на этом, и не понимает, что лучший способ сделать это с последним ZF2, здесь "лучший способ" - Zend Framework 2 - Как включить частичное из библиотеки