我有一个带有工作动作的控制器:
class ConfigurationController extends Controller {
public function actions() {
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
];
}
public function actionView() {
$myModel = ...
$this->render('view', ['model' => $myModel]);
}
}
似乎一切都很好,但是app / views / layout / main.php的布局文件没有显示出来。布局没有特殊配置。可能有什么不对?
答案 0 :(得分:3)
主要原因:我没有使用return语句。所以正确的行动是:
public function actionView() {
$myModel = ...
return $this->render('view', ['model' => $myModel]);
// ^^^^^^
}
可以在guide找到更多信息。
注意:通常会显示空白页面。但是我在视图文件中也有<?php $form = ActiveForm::begin(); ?>
没有<?php ActiveForm::end(); ?>
。这导致了某种程度的部分渲染(没有引起异常)。所以我也需要纠正这个问题。
我只是在分享我的问题以及我发现的问题,所以如果其他人有类似的效果,可能会被提醒不要忘记返回声明。