Я переключаюсь между макетами в зависимости от субдомена моего сайта.
Вот плагин макетов, который я использую ...
class App_Layout_Controller_Plugin_Layout extends Zend_Layout_Controller_Plugin_Layout
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$layout = $this->getLayout();
$filename = $layout->getLayoutPath() . '/' . $request->getModuleName() . '.' . $layout->getViewSuffix();
//check if the layout template exists, if not use the default layout set in application.ini
if (file_exists($filename))
{
$this->getLayout()->setLayout($request->getModuleName());
}
}
}
Конечно, вы можете изменить это дляваши собственные потребности.
Убедитесь, что вы правильно настроили свой application.ini, включая элементы, подобные следующим ...
resources.layout.layout = "default"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.layout.pluginClass = "App_Layout_Controller_Plugin_Layout"
В моем случае у меня есть:
default.phtml, admin.phtml, clients.phtml
Надеюсь, это поможет ...
Ангел