控制器里面這樣寫:
單條消息:
鍵值是規定好的,不要去自定義哦!
\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這個鍵值,就可以通過這個鍵值去展示不同的提示信息,這是非常方便的!