Home > php教程 > php手册 > body text

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

WBOY
Release: 2016-06-13 10:54:01
Original
859 people have browsed it

前基本用法如下:

 

 

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

}

}

 

显示结果如下:

 

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!