Php 如何更改Yii2中控制器的默认视图?
我想知道我是否可以更改Yii2中控制器的默认视图文件夹 如果我们只需使用Php 如何更改Yii2中控制器的默认视图?,php,yii2,Php,Yii2,我想知道我是否可以更改Yii2中控制器的默认视图文件夹 如果我们只需使用public$layout就可以更改布局,那么如何使用view来更改布局呢 Class HomeController extends \yii\web\Controller { public $layout = 'mylayout'; public $view = 'newview'; public function actionIndex() { return $this-
public$layout
就可以更改布局,那么如何使用view来更改布局呢
Class HomeController extends \yii\web\Controller
{
public $layout = 'mylayout';
public $view = 'newview';
public function actionIndex()
{
return $this->render('index');
}
}
为了实现控制器应该实现的目标 然后只需添加方法,该方法应返回所需的目录路径:
public function getViewPath()
{
return Yii::getAlias('@frontend/views/newview');
}
你可以在这里使用别名
还可以查看有关组织视图的官方信息。自2.0.7以来,您只需在控制器的init()方法中编写:
$this->viewPath='@app/yourViewPath'
我在Yii 2.0.42.1上,并将其添加到我的控制器中
public function init()
{
$this->viewPath = '@app/modules/report/views/test';
parent::init();
}
完美@arogachev非常感谢你谢谢你
yii\base\Controller
已经实现了该接口,因此implements ViewContextInterface
在这里是多余的。
public function init()
{
$this->viewPath = '@app/modules/report/views/test';
parent::init();
}