2

在视图中我有小部件:

if ($content):
        echo Alert::widget([
            'options' => [
                'class' => 'alert-info',
            ],
            'body' => $content,
        ]);
endif;

我想要渲染的那个小部件并不总是,例如在保存和 atc 之后。现在我已经将该小部件放置在 if 条件之间,可能存在一些更清晰的方式来仅在某些情况下呈现小部件。

4

1 回答 1

2

我认为 Flash-Messages 是你想要的:

例如:
控制器中,您可以执行以下操作:

<?php
Yii::app()->user->setFlash('success', "Data saved!");
$this->redirect(array('thing/view', 'id' => 1));

视图中:

<?php if(Yii::app()->user->hasFlash('success')):?>
<div class="info">
    <?php echo Yii::app()->user->getFlash('success'); ?>
</div>
<?php endif; ?>

当然,您可以将它与警报小部件或自定义小部件结合使用。

查看完整文档:http ://www.yiiframework.com/wiki/21/how-to-work-with-flash-messages/

于 2015-10-22T09:46:59.893 回答