Обычно у вас есть макет, который содержит область заголовка, панель навигации, область содержимого и боковую панель.Область содержимого будет загружена с использованием включенного вами фрагмента содержимого $ this-> layout () ->, остальные фрагменты могут быть вызваны в основном макете или включены через.обертоны.Если вы воспользуетесь последним подходом, ваш файл макета может выглядеть примерно так:
<html>
<head>
<title><?=$this->headTitle()?></title>
</head>
<body>
<?=$this->render('_header.phtml')?>
<?=$this->render('_navigation.phtml')?>
<?=$this->render('_sidebar.phtml')?>
<?=$this->layout()->content?>
</body>
</html>
Если вы обнаружите, что ваши партиалы включают в себя больше кода PHP, чем HTML, вы можете вместо этого написать помощника.Таким образом, вы можете создать помощник боковой панели по этим линиям:
<?php
class My_View_Helper_Sidebar extends Zend_view_Helper_Abstract
{
public function sidebar()
{
$html = '';
// code to generate side bar here
return $html;
}
}
?>
, а затем вместо рендеринга частичного, как я делал выше, вы бы назвали свой помощник боковой панели:
<?=$this->sidebar()?>
Это довольноДля контроллеров легко переопределить макеты, поэтому вы можете создать макет администратора, который выглядит как мой пример выше, но без боковой панели и, возможно, с другим заголовком.Затем вы заставите свой администраторский контроллер использовать это вместо значения по умолчанию.
Я могу вспомнить несколько ситуаций, когда вам нужно будет настроить несколько объектов Zend_View, которые, как вы предполагали, вы рассматриваете.