首頁 > php教程 > php手册 > 主體

Yii Framework 开发教程Zii组件-Tabs示例

WBOY
發布: 2016-06-13 10:54:01
原創
860 人瀏覽過

前基本用法如下:

 

 

[php]  

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;'  

    ),  

)); ?>  

 

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.');

}

}

 

显示结果如下:

 

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!