You should rather call $layout = Zend_Layout::getMvcInstance(); in your
module bootstraps, but this still doesn't solve the problem.
As soon as you apply a different layout to any of your modules, it would
seem as though the main layout is overwritten.
According to the docs, this is possible by either using
$layout->setLayout('admin'); or via the ini as admin.resources.layout.layout
= "admin" but I have not yet been able to get this to work.
Any ideas would be most welcome.
Karl
_____
From: Erwin Toze [mailto:[email protected]]
Sent: 07 May 2009 12:59 PM
To: Karl
Subject: Re: [fw-general] Modules using zend_application
2009/5/7 Karl <[email protected]>
Hi,
I am still trying to figure out how to have different layouts per module
without overriding my main applications layout, so I unfortunately don't
have examples for you.
I'm also struggling with module specific layout, for instance, if i have:
two layout files:
/application/layouts/default.phtml
/application/layouts/admin.phtml
in /application/Bootstrap.php:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
protected function _initView()
{
Zend_Layout::startMVC(array('layoutPath' =>
'../application/layouts'));
}
}
in /application/modules/default/Bootstrap.php:
class Default_Bootstrap extends Zend_Application_Module_Bootstrap {
protected function _initView()
{
Zend_Layout::startMVC(array('layout' => 'default'));
}
}
in /application/modules/admin/Bootstrap.php:
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap {
protected function _initView()
{
Zend_Layout::startMVC(array('layout' => 'admin'));
}
}
so i expected to have different layout when i go to
http://localhost/ //default layout
and
http://localhost/admin/ //admin layout
but wherever i go i always have the admin layout!!
does someone have a solution?
Thanks