点击这里给我发消息 点击这里给我发消息

PHP开发框架Yii Framework教程(41) Zii组件-Tabs示例

添加时间:2013-12-6
    相关阅读: 开发 页面 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.');
    }
}

显示结果如下:

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册