Yii Framework 开发教程Zii组件-Tabs示例
有关Yii Tab类:
http://www.yiichina.com/api/CTabView
http://www.yiichina.com/api/CJuiTabs
http://blog.csdn.net/dreamzml/article/details/8485446
http://www.yiiframework.com/wiki/569/how-to-create-cjui-tabs-render-partial-ajax-tabs-color-tabs/
Yii Framework 开发教程Zii组件-Tabs示例
基本用法如下:
[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',
),
);
} 其中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.');
}
}
显示结果如下:

From: http://www.2cto.com/kf/201301/180930.html
另外,可参考:
Yii Framework 开发教程Zii组件-Tabs示例的更多相关文章
- YII Framework学习教程-YII的Model-开发规范-路径别名-命名空间
到这里,大概的YII开发已经基本可以,但是下面要将的所有课程,学完之后可以让你更爱YII.下面的教程是讲的MVC的M,model.数据,业务,代码的集中地区.所以开始之前,学学开发规范-路径别名-命名 ...
- YII Framework学习教程-YII的异常处理
异常无处不在,作为程序员,活着就是为了创造这些异常,然后修复这些异常而存在的.YII框架封装了PHP的异常,让异常处理起来更简单. 使用 YII处理错误和异常的配置方法: 你可以在入口文件中定义YII ...
- Python3+PyCharm+Django+Django REST framework开发教程
一.说明 自己一是想跟上潮流二是习惯于直接干三是没有人可以请教,由于这三点经常搞得要死要活.之前只简单看过没写过Diango,没看过Django REST framework,今天一步到位直接上又撞上 ...
- YII Framework学习教程-YII的安全
web应用的安全问题是很重要的,在“黑客”盛行的年代,你的网站可能明天都遭受着攻击,为了从某种程度上防止被攻击,YII提供了防止攻击的几种解决方案.当然这里讲的安全是片面的,但是值得一看. 官方提供的 ...
- YII Framework学习教程-YII的国际化
一个web应用,发布到互联网,就是面向全球用户.用户在世界的各个角落都可以访问到你的web应用,当然要看你的网站和不和谐,不和谐的web应用在和谐社会是不让你访问的. YII提供了国际化的支持,可以让 ...
- YII Framework学习教程-YII的日志
日志的作用(此处省略1000字) YII中的日志很好很强大,允许你把日志信息存放到数据库,发送到制定email,存放咋文件中,意见显示页面是,甚至可以用来做性能分析. YII中日志的基本配置:/yii ...
- 官网的许多Mobile开发教程,Blog和示例代码
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Mobile_Tutorials:_Mobile_Application_Development ...
- Sagit.Framework For IOS 开发框架入门开发教程2:一行代码实现引导页
前言: 开篇比较简单:Sagit.Framework For IOS 开发框架入门开发教程1:框架下载与环境配置 第二篇教程之前写了一半,感觉不太好写,而且内容单纯介绍API,要说的很多,又枯燥乏味. ...
- [置顶] Kendo UI开发教程: Kendo UI 示例及总结
前面基本介绍完Kendo UI开发的基本概念和开发步骤,Kendo UI的示例网站为http://demos.kendoui.com/ ,包含了三个部分 Web DemoMobile DemoData ...
随机推荐
- 【PHP】解决html网页乱码问题
在自己制作一个网页时,时常会遇到网页乱码的问题. 其实导致网页乱码主要有几个原因,以下给出解决方法. 1.HTML的字符编码问题 该问题较常见,也是最明显和最容易解决的. 在网页<head> ...
- POJ 3414 Pots bfs打印方案
题目: http://poj.org/problem?id=3414 很好玩的一个题.关键是又16ms 1A了,没有debug的日子才是好日子.. #include <stdio.h> # ...
- POJ 3687 Labeling Balls 逆向建图,拓扑排序
题目链接: http://poj.org/problem?id=3687 要逆向建图,输入的时候要判重边,找入度为0的点的时候要从大到小循环,尽量让编号大的先入栈,输出的时候注意按编号的顺序输出重量, ...
- AndroidStudio Gradle版本不匹配问题
报错信息: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } Error:(1, 1) A problem occurr ...
- Spring 3整合Quartz 1实现定时任务一:常规整合(基于maven构建)
Spring配置Quartz例子(基于maven构建) 在Spring中使用Quartz有两种方式实现:第一种是任务类继承QuartzJobBean,第二种则是在配置文件里定义任务类和要执行的方法,类 ...
- python学习之---函数进阶
一,递归函数: 做程序应该都知道,在一个函数的内部还可以调用其它函数,这叫函数的调用,但是有一种特殊的情况,在一个函数内部对自身函数的调用,我们成这为函数的递归调用. 在此,使用一个家喻户晓的例子来演 ...
- POJ_2446_Chessboard
题目意思就是一个M*N的有洞棋盘棋盘上,用1*2的板子去覆盖没有洞的地方,要求板子不能重叠,最终能否将棋盘完整覆盖. 代码: #include<stdio.h> #include<s ...
- linux使用ps1设置命令行提示符
要自定义命令行提示,需要ps1来设置.完成自定义需要以下几个步骤: 1.编辑~/.bashrc文件 vi ~/.bashrc 2.在.bashrc文件中添加以下一行自定义内容 export PS1=& ...
- iframe的安全问题
今天尝试在iframe中嵌入外部网站, 碰到了一些小问题. 如何让自己的网站不被其他网站的iframe引用? 我测试的时候发现我把iframe的src指定到github不起作用. 原来是它把X-Fra ...
- 【HDOJ】1198 Farm Irrigation
其实就是并查集,写麻烦了,同样的代码第一次提交wa了,第二次就过了. #include <stdio.h> #include <string.h> #define MAXNUM ...