我需要根据控制器操作中的某些条件动态设置 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');
}
控制器类有 getViewPath() 但没有 setViewPath() 并且 viewPath 属性也是只读的。
感谢您对此的任何帮助。