【问题标题】:Yii2 : flash message displayed 2 times in my pageYii2 : 在我的页面中显示 2 次 flash 消息
【发布时间】:2019-11-02 17:04:00
【问题描述】:

我已经在 yii2 高级模板中为我的应用程序设置了一个 flash 消息。该消息也显示在我的特定页面上。但它显示了两次。我不知道会怎样。另外,我已经放置了我的代码和图像。

在控制器文件中:

public function actionSign() {
    $model = new SignupForm();
    if ($model->load(Yii::$app->request->post())) {
        Yii::$app->session->setFlash('success', "User created successfully.");
         return $this->goHome();
    }
    return $this->render('signup', [
        'model' => $model,
    ]);
}

在索引文件中:

<?php if (Yii::$app->session->hasFlash('success')): ?>
<div class="alert alert-success alert-dismissable">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
<h4><i class="icon fa fa-check"></i>Saved!</h4>
<?= Yii::$app->session->getFlash('success') ?>
</div>

输出如下所示: Output

提前致谢

【问题讨论】:

  • 请在您设置hte flash消息的地方添加控制器的完整动作
  • Flash 消息可能会在您的布局文件中呈现。尝试从索引文件中删除 flash 渲染代码,看看是否仍然显示第一条 flash 消息。
  • @Aslam,我已经更新了我的控制器操作。谢谢
  • 就像@Lisa 说你的布局视图中有一个 Alert::widget()
  • 丽莎和@sfili_81,谢谢你们。这就是我评论过的问题,然后它工作正常。再次感谢你们。

标签: yii2 yii2-advanced-app


【解决方案1】:

<?php if (Yii::$app->session->hasFlash('success')): ?>
   <?= Yii::$app->session->getFlash('success') ?>
<?php endif; ?>

【讨论】:

    【解决方案2】:
    <?php if (Yii::$app->session->hasFlash('success')): ?>
        <!--<div class="alert alert-success alert-dismissable">
             <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
             <h4><i class="icon fa fa-check"></i>Saved!</h4>.
          </div>-->
     <?= Yii::$app->session->getFlash('success') ?>
    <?php endif; ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-23
      • 1970-01-01
      • 2014-10-11
      • 2011-07-05
      • 1970-01-01
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多