有关Yii Tab类:
http://www.yiichina.com/api/CTabView
http://www.yiichina.com/api/CJuiTabs
http://blog.csdn.net/dreamzml/article/details/8485446
http://www.yiiframework.com/wiki/569/how-to-create-cjui-tabs-render-partial-ajax-tabs-color-tabs/
Yii Framework 开发教程Zii组件-Tabs示例
基本用法如下:
[php] <?php $this->widget('zii.widgets.jui.CJuiTabs', array( 'tabs'=>array( 'Static tab'=>'Static content', 'Render tab'=>$this->renderPartial('pages/_content1',null,true), 'Ajax tab'=>array('ajax'=>array('ajaxContent','view'=>'_content2')), ), 'options'=>array( 'collapsible'=>true, 'selected'=>1, ), 'htmlOptions'=>array( 'style'=>'500px;' ), )); ?> <?php $this->widget('zii.widgets.jui.CJuiTabs', array( 'tabs'=>array( 'Static tab'=>'Static content', 'Render tab'=>$this->renderPartial('pages/_content1',null,true), 'Ajax tab'=>array('ajax'=>array('ajaxContent','view'=>'_content2')), ), 'options'=>array( 'collapsible'=>true, 'selected'=>1, ), 'htmlOptions'=>array( 'style'=>'500px;' ), )); ?> 显示了三个页面不同内容显示方法,Static Tab显示一个静态内容,Render Tab使用Partial渲染一个页面,而Ajax Tab则通过AJAX显示一个页面,注意后面两个需要在SiteController中定义Actions 如下: [php] public function actions() { return array( 'page'=>array( 'class'=>'CViewAction', ), // ajaxContent action renders //"static" pages stored under 'protected/views/site/pages' // They can be accessed via: //index.php?r=site/ajaxContent&view=FileName 'ajaxContent'=>array( 'class'=>'application.controllers.AjaxViewAction', ), ); } 其中AjaxViewAction为一自定义ViewAction,为CViewAction的子类,可以显示静态页面,其定义如下: [php] class AjaxViewAction extends CViewAction { private $_viewPath; public function run() { if(Yii::app()->request->isAjaxRequest) { $this->resolveView($this->getRequestedView()); $controller=$this->getController(); $controller->renderPartial($this->view, null, false, true); } else throw new CHttpException(400,'Invalid request. Please do not repeat this request again.'); } } class AjaxViewAction extends CViewAction { private $_viewPath; public function run() { if(Yii::app()->request->isAjaxRequest) { $this->resolveView($this->getRequestedView()); $controller=$this->getController(); $controller->renderPartial($this->view, null, false, true); } else throw new CHttpException(400,'Invalid request. Please do not repeat this request again.'); } }
显示结果如下:
From: http://www.2cto.com/kf/201301/180930.html
另外,可参考: