使用CJuiDialog在对话框中显示对话信息 [ 未指定版本 ]
为了很好地显示对话信息,创建像这样的视图:views/site/dialog.php
<?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('<span class="dialog">%s</span>', $message['content']);
$this->endWidget('zii.widgets.jui.CJuiDialog');
}
}
}
?>
在你的layout(views/layouts/main.php)文件中的<?php echo $content; ?>之前添加下面这行代码:
<?php $this->renderPartial('//site/dialog'); ?>
之后,一个很好的jquery ui对话框会显示你的对话信息。
除此之外,我建议一个嵌套功能:
<?php
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 .= '<br /><strong>Where do you want to go today?</strong><br />';
$message .= CHtml::Button('Home', array('submit' => array('home/admin')));
$message .= '<br />';
$message .= CHtml::Button('Far far away', array('submit' => array('far/away')));
Dialog::message('Title', $message);
或只是
Dialog::message('title', 'content');
我希望这些代码段将有助于对你。请把任何的意见、建议或错误发到thyseus@gmail.com,谢谢你。
╃巡洋艦㊣ 北京
注册时间:2010-11-21
最后登录:2小时前
在线时长:1674小时47分
最后登录:2小时前
在线时长:1674小时47分
- 粉丝1369
- 金钱76408
- 威望845
- 积分101598
共 5 条评论
舰长 威武啊,dialog玩的神话了。。。
现在还有一些小问题!我正在解决!
消息是可以这样显示出来,但是如果需要手工去触发dialog呢?
顶起,灰常感谢噢
在官网上面有的