我假设 ZF 1.11:
在你的 application.ini 中确保这些行在这里(可能有点过头但它有效):
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.params.prefixDefaultModule = ""
resources.modules = ""
您的路径应如下所示:
/application
/configs
/controllers
/forms
/layouts
/models
/modules
/admin
/controllers
/models
/forms
/views
/filters
/helpers
/scripts
Bootstrap.php //in your admin folder bootstrap extends Zend_Application_Module_Bootstrap
/views
Bootstrap.php //application level bootstrap
/docs
/library
/public
除了引导程序之外的路径要求可以通过运行 ZF Tool 命令来完成zf create module admin
要记住的真正重要的事情是每个模块都需要一个 Bootstrap.php 文件在它的根目录。这有助于(除其他外)自动加载器。
<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap {
//put your code here
}
这就是模块引导程序所需的全部内容。
[编辑]为控制器(例如管理员)选择不同的布局(创建第二个布局),简单的方法是在每个控制器中:
public function preDispatch() {
$this->_helper->layout->setLayout('admin');
}
如果您需要更改大量控制器中的大量布局,您可能需要一个控制器插件(不是我的经验领域)。