gpt4 book ai didi

yii2 - 如何在 Yii2 中设置闪现消息?

转载 作者:行者123 更新时间:2023-12-03 12:26:14 25 4
gpt4 key购买 nike

我关注了这个 Link .我的代码如下
在 Controller 中

public function actionFunction4()
{
$this->layout="sintel";
$model= new Customers();
\Yii::$app->getSession()->setFlash('success', 'successfully got on to the payment page');
return $this->render("function4",['model'=>$model]);
}

在 View 中
 <div id="message">

<?= Yii::$app->session->getFlash('success');?>
</div>

现在我所做的结果不是我所期望的。我收到一条消息“成功进入付款页面”,就像我已经回显一样。如果它类似于 echo 那么为什么我们需要在 Yii2 中使用 flash 消息。我想我可能在我的代码中遗漏了一些让我的 flash 消息看起来像普通消息的东西。

最佳答案

设置闪信

快速消息用于通过同一用户的一个或多个请求将消息保持在 session 中。默认情况下,它会在显示给用户后从 session 中删除。

可以使用 setFlash() 设置 Flash 消息方法

在您的 controller 中添加以下代码文件如:

Yii::$app->session->setFlash('success', "Your message to display.");

例子:
class ProductsController extends \yii\web\Controller
{
public function actionCreate()
{
$model = new User();

if ($model->load(Yii::$app->request->post())) {
if ($model->save()) {
Yii::$app->session->setFlash('success', "User created successfully.");
} else {
Yii::$app->session->setFlash('error', "User not saved.");
}
return $this->redirect(['index']);
}
return $this->render('create', [
'model' => $model
]);
}
}

显示 Flash 消息

要检查闪现消息,我们使用 hasFlash()我们使用 getFlash() 方法和获取 flash 消息方法。

默认情况下,获取消息会将其从 session 中删除。这意味着消息仅显示在提供给用户的第一页上。获取方法有一个 bool 参数可以改变这种行为。

所以在 view 中显示上面定义的 flash 消息是由
// display success message
<?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>
<?php endif; ?>

// display error message
<?php if (Yii::$app->session->hasFlash('error')): ?>
<div class="alert alert-danger 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('error') ?>
</div>
<?php endif; ?>

关于yii2 - 如何在 Yii2 中设置闪现消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32793569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com