您可以通过几个步骤设置自己的布局选择器
第1步:使模块管理员和默认。
第 2 步:在每个模块中创建布局文件夹作为 admin/layouts/scripts 和 default/layouts/scripts 放入 layout.phtml
第 3 步:从 Application/layouts/scripts 中删除 layout.phtml 文件。
第 4 步:在库中创建 Plugin 文件夹并将 Plugin.php 设置为
class Plugin_Layout extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$layoutPath = APPLICATION_PATH . '/modules/' . $request->getModuleName() . '/layouts/scripts/';
Zend_Layout::getMvcInstance()->setLayoutPath($layoutPath);
}
}
第 5 步:
打开 Application/configs/Appication.ini 文件并将其编辑为
;resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.layout.layout = "layout"
;register your plugin
autoloaderNamespaces[] = "Plugin"
resources.frontController.plugins[] = "Plugin_Layout"
第 6 步:
打开 bootstrap 文件 Application/Bootstrap 把代码放在里面
protected function _initAutoload()
{
$loader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => APPLICATION_PATH . '/modules/'
));
return $loader;
}
protected function _initPlugins()
{
$this->bootstrap('frontcontroller');
$fc = $this->getResource('frontcontroller');
$fc->registerPlugin(new Plugin_Layout());
}