Php Yii2:为什么setFlash没有';在模块中呈现页面时不工作?

Php Yii2:为什么setFlash没有';在模块中呈现页面时不工作?,php,yii,module,yii2-basic-app,Php,Yii,Module,Yii2 Basic App,我有一个应用程序,它使用基本模板Yii2。在我的应用程序中,我使用Yii::$app->session setFlash在呈现页面时显示消息 当我将我的应用程序放在应用程序中时,它运行良好。但是当我将应用程序移动到模块时,它没有显示消息。名为学校的模块 Yii::$app->session->setFlash('error', "Error!"); return Yii::$app->response->redirect(['school/student/create']

我有一个应用程序,它使用基本模板Yii2。在我的应用程序中,我使用
Yii::$app->session setFlash
在呈现页面时显示消息

当我将我的应用程序放在
应用程序中时,它运行良好。但是当我将应用程序移动到
模块
时,它没有显示消息。名为
学校的模块

Yii::$app->session->setFlash('error', "Error!");
return Yii::$app->response->redirect(['school/student/create']);
这是我在我的
app/module/school

Yii::$app->session->setFlash('error', "Error!");
return Yii::$app->response->redirect(['school/student/create']);
页面成功返回到
学校/学生/创建
页面,但未显示消息

当我将应用程序放入
app

Yii::$app->session->setFlash('error', "Error!");
return Yii::$app->response->redirect(['create']);
上面的代码成功返回到页面
student/create
,并显示消息

这是我的应用程序目录结构:

--school
  --assets
  --commands
  --config 
  --controllers
  --file
  --mail
  --models
  --modules         //this the module
    --school
      --controllers
      --models
      --search
      --views
      --Module.php
  --runtime
  --test
  --vendor
  --views
  --web
  .....
有人知道为什么会这样吗?我该如何解决这个问题? 任何帮助都将不胜感激,谢谢:)

编辑: 这是代码:

app/modules/school/views/student/_form.php


您没有代码行在模块中呈现会话闪存消息。要测试它,请在app/modules/school/view/student/create.php中添加以下代码:

    <?php
    use yii\helpers\Html;

    /* @var $this yii\web\View */
    /* @var $model backend\models\Student */

    $this->title = 'Student';
    ?>

    <?php if (Yii::$app->session->hasFlash('success')): ?>
        <div class="alert alert-success">
            <?= Yii::$app->session->getFlash('success'); ?>
        </div>
    <?php endif; ?>
    <?php if (Yii::$app->session->hasFlash('warning')): ?>
        <div class="alert alert-warning">
            <?= Yii::$app->session->getFlash('warning'); ?>
        </div>
    <?php endif; ?>

    <?php if (Yii::$app->session->hasFlash('error')): ?>
        <div class="alert alert-danger">
            <?= Yii::$app->session->getFlash('error'); ?>
        </div>
    <?php endif; ?>

    <div class="title">
    <?= Html::encode($this->title) ?>

    </div>
    <?=
      $this->render('_form', [
      'model' => $model,
    ])
    ?>

我建议在布局模板(app/views/layouts/main.php)中的小部件和呈现小部件处添加以下代码,或者在没有小部件的布局模板中添加以下代码:

<?php if (Yii::$app->session->hasFlash('success')): ?>
    <div class="alert alert-success">
        <?= Yii::$app->session->getFlash('success'); ?>
    </div>
<?php endif; ?>
<?php if (Yii::$app->session->hasFlash('warning')): ?>
    <div class="alert alert-warning">
        <?= Yii::$app->session->getFlash('warning'); ?>
    </div>
<?php endif; ?>
<?php if (Yii::$app->session->hasFlash('error')): ?>
    <div class="alert alert-danger">
        <?= Yii::$app->session->getFlash('error'); ?>
    </div>
<?php endif; ?>


更新您的代码并显示视图代码。。请..包括
小部件
您是否将flash消息呈现到学校/学生/创建中view@scaisEdge,您是指我显示消息的页面代码?@Blackjack是您显示消息的页面代码(viiew)message@scaisEdge,完成。勾选:)
<?php if (Yii::$app->session->hasFlash('success')): ?>
    <div class="alert alert-success">
        <?= Yii::$app->session->getFlash('success'); ?>
    </div>
<?php endif; ?>
<?php if (Yii::$app->session->hasFlash('warning')): ?>
    <div class="alert alert-warning">
        <?= Yii::$app->session->getFlash('warning'); ?>
    </div>
<?php endif; ?>
<?php if (Yii::$app->session->hasFlash('error')): ?>
    <div class="alert alert-danger">
        <?= Yii::$app->session->getFlash('error'); ?>
    </div>
<?php endif; ?>