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

PHP開發框架Yii Framework教程(41) Zii組件-Tabs示例

編輯:PHP綜合

CJuiTabs 顯示分頁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.imobilebbs.com/download/yii/JuiProgressBarDemo.zip

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