作者:晓小墨_641 | 来源:互联网 | 2013-06-07 16:13
为了很好地显示对话信息,创建像这样的视图:views/site/dialog.php
if($flashes = Yii::app()->user->getFlashes()) { foreach($flashes as $key => $message) { if($key != 'counters') { $this->beginWidget('zii.widgets.jui.CJuiDialog', array( 'id'=>$key, 'options'=>array( 'show' => 'blind', 'hide' => 'explode', 'modal' => 'true', 'title' => $message['title'], 'autoOpen'=>true, ), )); printf('%s', $message['content']); $this->endWidget('zii.widgets.jui.CJuiDialog'); } } } ?>
在你的layout(views/layouts/main.php)文件中的之前添加下面这行代码:
$this->renderPartial('//site/dialog'); ?>
之后,一个很好的jquery ui对话框会显示你的对话信息。
除此之外,我建议一个嵌套功能:
class Dialog { public static function Message($title, $message, $id = 0) { if($id == 0) $id = rand(1, 999999); Yii::app()->user->setflash($id, array('title' => $title, 'content' => $message) ); } } ?>
用这种方法你可以触发你的对话,即使有HTML内容和不同的按钮在里面也如此容易:
$message = 'Hello World!'; $message .= '
Where do you want to go today?
'; $message .= CHtml::Button('Home', array('submit' => array('home/admin'))); $message .= '
'; $message .= CHtml::Button('Far far away', array('submit' => array('far/away'))); Dialog::message('Title', $message);
或只是
Dialog::message('title', 'content');
我希望这些代码段将有助于对你。请把任何的意见、建议或错误发到thyseus@gmail.com,谢谢你