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

2023-11-09



CJuiTabs 显示分页UI组件,和Yii Framework 开发教程(17) UI 组件 TabView示例功能类似,它封装了 JUI tabs插件。

前基本用法如下:

  1. <?php $this->widget('zii.widgets.jui.CJuiTabs'array(  
  2. 'tabs'=>array(  
  3.     'Static tab'=>'Static content',  
  4.     'Render tab'=>$this->renderPartial('pages/_content1',null,true),  
  5.     'Ajax tab'=>array('ajax'=>array('ajaxContent','view'=>'_content2')),  
  6.     ),  
  7. 'options'=>array(  
  8.     'collapsible'=>true,  
  9.     'selected'=>1,  
  10.     ),  
  11. 'htmlOptions'=>array(  
  12.     'style'=>'width:500px;'  
  13.     ),  
  14. )); ?>  
<?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 如下:

  1. public function actions()  
  2. {  
  3.     return array(  
  4.         'page'=>array(  
  5.                 'class'=>'CViewAction',  
  6.                 ),  
  7.         // ajaxContent action renders  
  8.         //"static" pages stored under 'protected/views/site/pages'  
  9.         // They can be accessed via:  
  10.         //index.php?r=site/ajaxContent&view=FileName  
  11.         'ajaxContent'=>array(  
  12.                 'class'=>'application.controllers.AjaxViewAction',  
  13.             ),  
  14.         );  
  15. }  
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的子类,可以显示静态页面,其定义如下:

  1. class AjaxViewAction extends CViewAction  
  2. {  
  3.     private $_viewPath;  
  4.   
  5.     public function run()  
  6.     {  
  7.         if(Yii::app()->request->isAjaxRequest)  
  8.         {  
  9.             $this->resolveView($this->getRequestedView());  
  10.             $controller=$this->getController();  
  11.             $controller->renderPartial($this->view, null, false, true);  
  12.         }  
  13.         else  
  14.             throw new CHttpException(400,'Invalid request.  
  15.                Please do not repeat this request again.');  
  16.     }  
  17. }  
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.');
	}
}

显示结果如下:
201212129010 本例 下载

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Yii Framework 开发教程(41) Zii组件-Tabs示例 的相关文章

随机推荐

  • BFD协议简介

    1 背景 双向转发检测BFD Bidirectional Forwarding Detection 是一种全网统一的检测机制 用于快速检测 监控网络中链路或者IP路由的转发连通状况 为了保护关键应用 网络中会设计有一定的冗余备份链路 网络发
  • 二叉树刷题

    二叉树 题目1 94 二叉树中的最大路径和 LintCode class Solution public 求出从根到任意位置的最大长度 int dfs TreeNode root int maxsum if root NULL return
  • Python面向对象详解(4-2)

    目录 一 类中的参数self 二 Python中self的解析与总结 1 self是什么 python中self代表类的实例 2 Python中只有针对类来说self才有意义 3 self只能用在python类的方法中 4 举例说明 三 类
  • 第十届蓝桥杯国赛 G排列数(动态规划精简题解+图解)

    动态规划 集合 f i j f i j f i j 表示填了前
  • 在socket编程中,如何获取连接另一端(客户端)的ip地址,使用accept或者getpeername

    这段代码没有实际的功能 只是为了获取连接另一端的ip地址 include
  • 因果推断----必要因和充分因

    必要因 或 若非因 和充分因 必要因 已知张三堵住消防通道 X 1 并且李四死了 Y 1 假如X为0 那么李四还活着 Y 0 的概率是多少 必要性概率 P N PN PN为 P
  • (c语言)PAT 乙级 1010 一元多项式求导 (25分)

    设计函数求一元多项式的导数 注 x的n次方 n为整数 的一阶导数为n乘x的n 1次方 输入格式 以指数递降方式输入多项式非零项系数和指数 绝对值均为不超过 1000 的整数 数字间以空格分隔 输出格式 以与输入相同的格式输出导数多项式非零项
  • cat命令

    Linux cat命令的使用 cat命令主要用来查看文件内容 创建文件 文件合并 追加文件内容等功能 A 查看文件内容主要用法 1 cat f1 txt 查看f1 txt文件的内容 2 cat n f1 txt 查看f1 txt文件的内容
  • 使用R语言实现逻辑回归预测客户流失

    目录 1 引言 2 加载并理解数据 3 数据预处理 4 构建并训练逻辑回归模型 5 模型评估
  • c语言函数中调用的参数太多_函数的参数太少(C语言错误)

    c语言函数中调用的参数太多 很少参数无法使用C语言 Too few arguments to function in C language This error occurs when numbers of actual and forma
  • 玩牌高手极其基本解法

    标题 玩牌高手 时间限制 1秒 内存限制 32768K 语言限制 不限 给定一个长度为n的整型数组 表示一个选手在n轮内可选择的牌面分数 选手基于规则选牌 请计算所有轮结束后其可以获得的最高总分数 选择规则如下 1 在每轮里选手可以选择获取
  • 时间操作——moment.js参考文档

    目录 一 引入moment js 1 Node js方式引入 2 浏览器方式引入 二 moment时区和转换 1 时区的设置 2 UTC和北京时间的互转 三 使用 1 获取时间 2 js 是一个轻量级的JavaScript时间库 它方便了日
  • (Slide)Attention Mechanism注意力机制

    PPT地址 http download csdn net download mounty fsc 10113027
  • Ubuntu有线校园网认证窗口提示:could not connect : no route to host

    问题 在Linux系统 Unbuntu22 04 上连接校园网时 遇到一个问题 因为使用的是有线连接校园网 弹出校园网认证窗口时提示 could not connect no route to host 尝试的方法 尝试了以下方法 但都没能
  • win11任务栏图标大小设置教程

    最近有不少小伙伴在升级安装最新的Win11系统后 发现任务栏的图标太小 不知道win11任务栏图标怎么调大小 下面小编就来给大家详细介绍下win11任务栏图标大小设置的具体方法吧 希望对大家有所帮助 win11任务栏图标大小设置教程 1 w
  • 错误:Visual Studio has encountered a problem and needs to close

    我使用VS2008 Qt4 7 4开发时 安装Qt后报出该错误 google了一下解决了问题 原来在安装QT插件不正确导致的 在360软件管家中 卸载了qt win opensource 4 7 4 vs2008 但qt vs addin
  • Android 9 静默安装、卸载App

    文章目录 引言 安装流程 实现代码 AndroidManifest xml配置 apk运行打包 放到源码目录下重新进行签名 编译 安装日志 转载自 Android 9 P静默安装 卸载App适配终极指南 引言 静默安装是指apk安装不需要用
  • Scratch图形化编程等级考试简介

    目录 全国青少年软件编程等级考试是行业首个且规模最大的编程等级考试 并且还有权威认证 对孩子未来的升学也有非常大的益处 全国青少年软件编程等级考试是由中国电子学会发起的面向青少年机器人软件编程能力水平的社会化评价项目 中国电子学会是工业和信
  • springboot 获得请求ip地址

    package com example winterholity util import javax servlet http HttpServletRequest import java net InetAddress import ja
  • Yii Framework 开发教程(41) Zii组件-Tabs示例

    CJuiTabs 显示分页UI组件 和Yii Framework 开发教程 17 UI 组件 TabView示例功能类似 它封装了 JUI tabs插件 前基本用法如下 php view plain copy print