4

在我发送请求后,我会通过 SET FLASH 向用户宣布结果。用户发送请求时显示消息的方式是什么?

例如,当发送消息表单时:显示 -> 正在发送表单,然后显示一条闪烁消息

4

3 回答 3

8

查看 Yii 框架网站上的 wiki: http ://www.yiiframework.com/wiki/21/how-to-work-with-flash-messages/

在您的控制器中,您可以放置​​:

Yii::app()->user->setFlash('success', "Form posted!");

在您看来,您可以通过以下方式回显 Flash 消息:

<?php echo Yii::app()->user->getFlash('success'); ?>

或者,您可以使用 hasFlash 方法检查是否存在 Flash 消息,因此您视图中的代码如下所示:

<?php if(Yii::app()->user->hasFlash('success')):?>

      <?php echo Yii::app()->user->getFlash('success'); ?>

<?php endif; ?>
于 2013-08-19T13:41:08.680 回答
2

添加setFlash你的控制器。像这样的东西:

if($comment->save())
{
    Yii::app()->user->setFlash('commentSubmitted','Thank you for your comment.');
    $this->refresh();
}

在您的视图中,显示类似这样的 Flash 消息:

<?php if(Yii::app()->user->hasFlash('commentSubmitted')): ?>
    <div class="flash-success">
        <?php echo Yii::app()->user->getFlash('commentSubmitted'); ?>
    </div>
<?php endif; ?>
于 2013-08-19T14:08:19.980 回答
0

在您的控制器中,您可以放置​​:

if(conditions)
   Yii::app()->user->setFlash('success', "Success text");
else
   Yii::app()->user->setFlash('error', "Error text");

在您看来,您可以通过以下方式回显 Flash 消息:

<?php
if(Yii::app()->user->hasFlash('success'))
    Yii::app()->user->setFlash('success', '<strong>Well done!</strong> '.Yii::app()->user->getFlash('success').'.');
else
    Yii::app()->user->setFlash('error', '<strong>Error!</strong> '.Yii::app()->user->getFlash('error').'.');


$this->widget('bootstrap.widgets.TbAlert', array(
    'block'=>true, // display a larger alert block?
    'fade'=>true, // use transitions?
    'closeText'=>'&times;', // close link text - if set to false, no close link is displayed
    'alerts'=>array( // configurations per alert type
        'success'=>array('block'=>true, 'fade'=>true, 'closeText'=>'&times;'), // success, info, warning, error or danger
    ),
)); ?>
于 2014-03-11T12:55:24.033 回答