Итак, у меня возник вопрос об общей организации кода для платформы Zend в отношении компоновки.
Мой макет в основном такой:
(LAYOUT.PHTML)
<div id='header'>
<?= $this->Layout()->header ?>
</div>
<div id='main'>
<?= $this->Layout()->main ?>
</div>
<div id='footer'>
<?= $this->Layout()->footer ?>
</div>
и так далее и тому подобное. Теперь, чтобы сохранить мой код в моем заголовке отдельно от кода моего основного и кода моего нижнего колонтитула, я создал папку для моего представления, которая содержит header.phtml, main.phtml, footer.phtml. Затем я использую этот код для назначения содержимого header.phtml в $ this-> layout () -> header:
(INDEX.PHTML)
$this->Layout()->header = file_get_contents('index/header.phtml');
$this->Layout()->main = file_get_contents('index/main.phtml');
$this->Layout()->footer = file_get_contents('index/footer.phtml');
Это прекрасно работало, но я столкнулся с тем, что больше не хочу, чтобы main был статичным HTML. Я хотел бы иметь возможность вставить некоторые значения с помощью PHP. Поэтому в моем контроллере в indexAction я хочу иметь возможность загружать из моей базы данных и помещать значения в index / main.phtml. Есть ли способ сделать это без реструктуризации моего сайта?
Если нет, то есть способ сделать это, чтобы я мог иметь:
Возможность помещать код в различные разделы моего макета, такие как Layout () -> header, Layout-> footer.
Разделите эти части на разные файлы, чтобы их было легко найти и упорядочить, например, мой index / footer.phtml, index / main.phtml и т. Д.
Не нужно помещать этот код в кавычки без необходимости, чтобы превратить его в строку для передачи в Layout () -> заголовок и т. Д.
Спасибо вам, ребята, за помощь.
этан