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 yii\bootstrap\Alert;//引入alert弹话框组件

 

 

 

结果:

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

 

对应的第二个设置:

 

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

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

 

 

 

总结:

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

posted @ 2018-03-10 15:34  佳佳嘉佳佳  阅读(1703)  评论(0编辑  收藏  举报