その目的のためにフロントコントローラープラグイン(レイアウトセレクターと呼ばれる)を作成する必要があります。
Bootstrap.phpで、そのプラグインを登録します-レイアウトセレクター:
protected function _initPlugins(){
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new My_Plugins_LayoutSelector());
}
application.iniに名前空間My_を自動ロードします
Autoloadernamespaces[] = "My_"
そして最後に、/libraryに新しいフォルダ「My」とそのフォルダ「Plugins」を作成し、その中にファイル「LayoutSelector.php」をコードで作成します。
class My_Plugins_LayoutSelector extends Zend_Controller_Plugin_Abstract {
public function preDispatch(Zend_Controller_Request_Abstract $request) {
$module = $request->getModuleName();
$layout = Zend_Layout::getMvcInstance();
$layout->setLayout($module);
}
}
このようにして、将来のすべてのモジュールは適切なレイアウトを使用し、レイアウトを選択するために各コントローラーに書き込む必要はありません。