Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to switch layout files in Zend Framework?

I'm sure it's a simple one-liner, but I can't seem to find it.

How can I use a different layout file for a particular action?

Update: This worked for me, thanks!

// Within controller $this->_helper->_layout->setLayout('other-layout') //other-layout.phtml  //Within view script <?php $this->layout()->setLayout('other-layout'); ?> 
like image 602
Andrew Avatar asked Oct 23 '09 21:10

Andrew


2 Answers

From inside a Controller:

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

(via these docs)

EDIT: I should mention that the path is relative to whatever your layout directory is (by default, it's application/layouts/scripts/)

like image 81
Josh Lindsey Avatar answered Oct 05 '22 15:10

Josh Lindsey


You can also use like this

// Within controller Zend_Layout::getMvcInstance()->setLayout('layout_name');  //Within view script  <?php $this->layout()->setLayout('layout_name'); ?> 

Your layout must be in /layouts/scripts/ folder, otherwise you need to specify the path also. No need to write .phtml, just name of the layout

like image 30
Md Moin Uddin Avatar answered Oct 05 '22 15:10

Md Moin Uddin