程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Yii Framework 開發教程Zii組件-Tabs示例

Yii Framework 開發教程Zii組件-Tabs示例

編輯:關於PHP編程

前基本用法如下:     [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'=>'width: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'=>'width: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',               ),           );   }     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.'); } }   顯示結果如下:   201212129010

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved