Web プロジェクトで Yii フレームワークを使用しています。現在、いくつかのモジュールがあり、すべてのモジュールに対して 1 つのレイアウトのみを使用したいと考えています。各モジュールのすべてのコントローラー/アクションのレイアウトを決定するために、次のコードを使用しました。
$this->layoutPath = Yii::getPathOfAlias('application.views.layouts');
$this->layout = '//layouts/myLayout';
各モジュールの init() 関数で同じコードを使用してこれを行う他の解決策はありますか? つまり、各アクションで上記の 2 行のコードを記述しなければならないのですが、それでは良くないと思い、コードの行数を減らしたいと考えています。たとえば、次のようにします。
class StaffModule extends CWebModule
{
public $layout;
public $layoutPath;
public function init()
{
$this->layoutPath = Yii::getPathOfAlias('application.views.layouts');
$this->layout = '//layouts/myLayout';
$this->setImport(array(
'staff.models.*',
'staff.components.*',
));
}
}
しかし、うまくいきません。お願い助けて。