YII2 定义页面提示

控制器里面这样写:

单条消息:

键值是规定好的,不要去自定义哦!

Yii::$app->getSession()->setFlash('error', 'This is the message');

Yii::$app->getSession()->setFlash('success', 'This is the message');

Yii::$app->getSession()->setFlash('info', 'This is the message');

多条消息:

Yii::$app->getSession()->setFlash('error', ['Error 1', 'Error 2']);

视图中这样写:

<!--使用Alert组件进行提示-->
<?php
//键值为error的弹话框
if(Yii::$app->getSession()->hasFlash('error')){
echo Alert::widget([
'options'=>[
'class'=>'error',
],
//'body'=>Yii::$app->getSession()->getFlash('success'),
]);
}

//键值为success的弹话框
if(Yii::$app->getSession()->hasFlash('success')){
echo Alert::widget([
'options'=>[
'class'=>'success',
],
//'body'=>Yii::$app->getSession()->getFlash('success'),
]);
}
?>

例子:

首先在模板中输入:

视图中输入:

记得在视图的前面加上:use yiiootstrapAlert;//引入alert弹话框组件

结果:

对应控制器中的第一个设置:

对应的第二个设置:

要是设置不同键值的,就要在视图中做出不同的设置:

下面这张图中,我们可以看到,一个键值叫做success,一个叫做error,那么他们的显示效果上是差不多的,就是背景颜色的不同

总结:

我们可以看到,测试效果中,是两个不同的界面(一个注册界面,一个登陆界面),但是因为键值都是error,所以我们只要在视图中进行一个定义就行了,在使用过程中,我们只要对应error这个键值,就可以通过这个键值去展示不同的提示信息,这是非常方便的!

原文地址:https://www.cnblogs.com/finalanddistance/p/8540233.html