PHP开发框架Yii Framework教程(41) Zii组件-Tabs示例2013-02-03 csdn mapdigitCJuiTabs 显示分页UI组件,和Yii Framework 开发教程(17) UI 组件 TabView示例功能类似,它封装了 JUI tabs插件。前基本用法如下:
<?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"=>"width:500px;" ), )); ?>
显示了三个页面不同内容显示方法,Static Tab显示一个静态内容,Render Tab使用Partial渲染一个页面 ,而Ajax Tab则通过AJAX显示一个页面,注意后面两个需要在SiteController中定义Actions 如下:
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的子类,可以显示静态页面,其定义如下:
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.");}}显示结果如下:

查看全套教程:http://www.bianceng.cn/webkf/PHP/201301/35265.htm本例下载:http://www.imobilebbs.com/download/yii/JuiProgressBarDemo.zip