私の Yii アプリには、admin というモジュールが 1 つあるため、モジュール クラスは AdminModule であり、CWebModule クラスを拡張し、AdminModule.php ファイルに配置されます。ドキュメントによると、 CWebModule にはlayout
、コントローラー自体にレイアウトが定義されていない場合に備えて、すべてのモジュールコントローラー間で共有されるプロパティがあります。
私のコントローラーにはレイアウトが定義されておらず、AdminModule.php に次のように記述します。
$this->layout='webroot.themes.bootstrap.views.layouts.column2';
$this->layoutPath = Yii::getPathOfAlias('webroot.themes.bootstrap.views.layouts');
ただし、管理モジュールのコントローラーはまだ他のレイアウトを使用しています。コンポーネントディレクトリのController.phpで定義されているものだと思います。何故ですか?特定のモジュールの共有レイアウトをセットアップするにはどうすればよいですか?