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 


Reply via email to