Как переключать файлы макетов в Zend Framework?
Я уверен, что это простой однострочный текст, но я не могу его найти.
Как я могу использовать другой файл макета для определенного действия?
Обновление: это сработало для меня, спасибо!
// Within controller
$this->_helper->_layout->setLayout('other-layout') //other-layout.phtml
//Within view script
<?php $this->layout()->setLayout('other-layout'); ?>
2 ответа
Решение
Внутри контроллера:
$this->_helper->layout->setLayout('/path/to/your/layout_script');
(через эти документы)
РЕДАКТИРОВАТЬ: я должен упомянуть, что путь относительно того, какой каталог вашего макета (по умолчанию это application/layouts/scripts/
)
Вы также можете использовать как это
// Within controller
Zend_Layout::getMvcInstance()->setLayout('layout_name');
//Within view script
<?php $this->layout()->setLayout('layout_name'); ?>
Ваш макет должен находиться в папке /layouts/scripts/, в противном случае вам также необходимо указать путь. Не нужно писать.phtml, просто название макета