【问题标题】:Yii2: why does the layout not get shown?Yii2:为什么没有显示布局?
【发布时间】:2016-12-13 10:17:17
【问题描述】:

我有一个具有工作操作的控制器:

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 的布局文件。布局没有特殊配置。有什么问题?

【问题讨论】:

    标签: html controller yii2


    【解决方案1】:

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

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

    更多信息可以在guide找到。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-05
      • 1970-01-01
      相关资源
      最近更新 更多