Подтвердить что ты не робот

Как включить верхний и нижний колонтитулы с макетом в Zend Framework?

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

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

4b9b3361

Ответ 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");