Yii2:为什么布局没有显示出来?

时间:2016-12-13 10:17:18

标签: html controller yii2

我有一个带有工作动作的控制器:

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的布局文件没有显示出来。布局没有特殊配置。可能有什么不对?

1 个答案:

答案 0 :(得分:3)

主要原因:我没有使用return语句。所以正确的行动是:

public function actionView() {
    $myModel = ...
    return $this->render('view', ['model' => $myModel]);
//  ^^^^^^
}

可以在guide找到更多信息。

注意:通常会显示空白页面。但是我在视图文件中也有<?php $form = ActiveForm::begin(); ?>没有<?php ActiveForm::end(); ?>。这导致了某种程度的部分渲染(没有引起异常)。所以我也需要纠正这个问题。

我只是在分享我的问题以及我发现的问题,所以如果其他人有类似的效果,可能会被提醒不要忘记返回声明。