Как переключать файлы макета в Zend Framework?


Я уверен, что это простой однострочный текст, но, похоже, я не могу его найти.

Как я могу использовать другой файл макета для определенного действия?

Обновление: Это сработало для меня, спасибо!

// Within controller
$this->_helper->_layout->setLayout('other-layout') //other-layout.phtml

//Within view script
<?php $this->layout()->setLayout('other-layout'); ?>
Author: Andrew, 2009-10-24

2 answers

Изнутри контроллера:

$this->_helper->layout->setLayout('/path/to/your/layout_script');

(через эти документы)

РЕДАКТИРОВАТЬ: Я должен упомянуть, что путь относится к любому каталогу вашего макета (по умолчанию это application/layouts/scripts/)

 62
Author: Josh Lindsey, 2009-10-23 21:26:05

Вы также можете использовать вот так

// Within controller
Zend_Layout::getMvcInstance()->setLayout('layout_name');

//Within view script

<?php $this->layout()->setLayout('layout_name'); ?>

Ваш макет должен находиться в папке /layouts/scripts/, в противном случае вам также необходимо указать путь. Не нужно писать .phtml, просто имя макета

 13
Author: Md Moin Uddin, 2011-10-18 12:43:26