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
ブートストラップ以外のパス要件は、ZFToolコマンドを実行することで実現できます。zf create module admin
覚えておくべき本当に重要なことは、各モジュールのルートにBootstrap.phpファイルが必要であることです。これにより、(とりわけ)オートローダーが容易になります。
<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap {
//put your code here
}
モジュールのブートストラップに必要なのはこれだけです。
[編集]コントローラー(管理者など)の異なるレイアウトを選択(2番目のレイアウトを作成)するには、各コントローラーで簡単な方法があります。
public function preDispatch() {
$this->_helper->layout->setLayout('admin');
}
多くのコントローラーで多くのレイアウトを変更する必要がある場合は、コントローラープラグインが必要になる可能性があります(私の経験分野ではありません)。