控制器里面这样写:
单条消息:
键值是规定好的,不要去自定义哦!
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这个键值,就可以通过这个键值去展示不同的提示信息,这是非常方便的!