コントローラー アクションのいくつかの条件に基づいて、viewPath を動的に設定する必要があります。以下のように、コントローラーに getViewPath() というメソッドを配置することにより、メソッドを認識しています。
public function getViewPath() {
$controllername = $this->getId();
$newPath = "application.views.extra";
$newPath = YiiBase::getPathOfAlias($newPath);
return $newPath;
}
しかし、前に言ったように、条件に基づいて viewPath を設定する必要があります。このような:
public function actionView($section) {
switch ($section) {
case 'yoga':
$viewpath = 'yoga';
break;
case 'cycling':
$viewpath = 'cycling';
break;
}
// Now this should render from either:
1. protected/views/yoga/
2. protected/views/cycling/
$this->render('view');
}
Controller クラスには getViewPath() がありますが、setViewPath() はありません。viewPath プロパティも読み取り専用です。
これについての助けに感謝します。