Yii Framework 开发教程(29) Zii组件-Menu 示例
介绍完Yii数据库接口外,从本篇开始介绍Zii组件,包括列表视图ListView,表格视图GridView,此外还包括一些基于JQuery的UI组件,如AutoComplete,DataPicker, Button, Drag 和 Drop等。
本文介绍Menu菜单用法,CMenu使用Html 列表显示多级菜单,Menu配置通过其属性item来配置,每个菜单项包括三个主要属性
- visible 是否可见
- active 当前菜单项是否选中,
- items 子菜单项。
此外还包括如下属性:
- label: 可选,菜单名称,支持使用HTML标记.
- url: 可选,点击该菜单转的URL链接
- template: 可选,菜单模板
- linkOptions: array, 可选,额外的HTML链接属性
- itemOptions: array, 可选,额外的显示菜单项的HTML属性。
- submenuOptions: array, 可选,额外显示子菜单的HTML属性.
一般可以把Menu定义在Layout布局中,比如本例,修改protected/views/layout/main.php
<?php $this->widget('zii.widgets.CMenu',array('items'=>array(array('label'=>'Home','url'=>array('/site/index')),array('label'=>'About','url'=>array('/site/page','view'=>'about')),array('label'=>'Contact','url'=>array('/site/page','view'=>'contact')),array('label'=>'Login','url'=>array('/site/login'),'visible'=>false),),)); ?>
本例使用CViewAction来显示几个静态页面,静态页面的缺省目录为当前Controller的View目录下的pages子目录,本例在pages目录下创建了两个静态页面about.php, contact.
要使用CViewAction来显示静态页面,需要修改Controller的actions方法:
public function actions()
{return array('page'=>array('class'=>'CViewAction',));
}
此外如果要显示菜单的层次轨迹(breadcrumbs),可以使用Zii组件中的CBreadcrumbs组件,CBreadcrumbs一般配合CMenu使用
<?php if(isset($this->breadcrumbs)):?><?php $this->widget('zii.widgets.CBreadcrumbs', array('links'=>$this->breadcrumbs,)); ?><!-- breadcrumbs -->
<?php endif?>
本例使用Yii缺省的CSS,显示结果如下:
如果不使用CSS,显示结果如下:
由此可见,需要同时使用CMenu组件配合合适的CSS才能显示漂亮的菜单。
本例下载
Yii Framework 开发教程(29) Zii组件-Menu 示例相关推荐
- Yii Framework 开发教程(32) Zii组件-GridView示例
CGridView 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView类型,也是通过设置 data provider,通常是CActiv ...
- Yii Framework 开发教程(31) Zii组件-DetailView 示例
CDetailView为某个Model显示详细内容.这个要显示的Model可以为CModel或是关联数组. CDetailView通过配置 attributes来决定Model的那些属性需要显示 ...
- Yii Framework 开发教程(41) Zii组件-Tabs示例
CJuiTabs 显示分页UI组件,和Yii Framework 开发教程(17) UI 组件 TabView示例功能类似,它封装了 JUI tabs插件. 前基本用法如下: [php] vie ...
- Yii Framework 开发教程(30) Zii组件-ListView 示例
CListView可以用来显示列表,CListView支持使用自定义的View模板显示列表的的记录,因此可以非常灵活的显示数据的表,这点有点像Android的ListView:-). CListVie ...
- Yii Framework 开发教程(35) Zii组件-Button示例
CJuiButton 显示按钮,CJuiButton 既可以做为Submit(提交)按钮,也可以做为普通按钮. 按钮基本用法如下: <?php $this->widget('zii.wid ...
- Yii Framework 开发教程(37) Zii组件-Dialog示例
CJuiDialog用来显示对话框,模式或非模式对话框.它封装了JUI Dialog插件. 其基本用法如下 <h2><?php echo 'Dialog';?></h2& ...
- Yii Framework 开发教程(45) Zii组件-Selectable示例
CJuiSelectable可以显示一个列表,列表的每个项支持Select事件,它封装了 JUI Selectable插件,其基本用法如下: <?php Yii::app()->clien ...
- Yii Framework 开发教程(36) Zii组件-DatePicker示例
CJuiDatePicker 用于日期输入,它封装了 JUI datepicker插件,其基本用法如下: [php] view plaincopyprint? <?php echo $fo ...
- Yii Framework 开发教程(22) UI 组件 Zii组件简介
前面介绍了Yii框架支持的部分UI组件,除了前面介绍的UI组件外,Yii框架还提供了Zii组件库,包括列表视图ListView,表格视图GridView,此外还包括一些基于JQuery的UI组件 ...
最新文章
- 有上下界网络流 ---- P4843 清理雪道(DAG图上最小路径重复边覆盖)【模板】有源汇上下界最小流
- 我的Linux成长路---001 Linux学习初期计划
- 腾讯汤道生:开源已成为许多技术驱动型产业重要的创新推动力
- 4g内存 堆内存分配多少_我需要多少内存
- ios realm 文件_关于ios:具有后台进程的Realm实例会丢失数据
- 在读博士一作发Nature,学校重奖50万!
- webpack Babel
- [FFmpeg] 多个图片合成视频
- 服务器(Windows系统)自建蚂蚁(leanote)笔记超详细步骤(包含数据备份和数据还原)
- JS 中样式显示(clientWidth和clientHeight、offsetLeft、scrollHeight )
- cad墙线打断lisp_autocad 2010怎么打断墙线?
- android模拟器克隆app,易语言一键克隆/启动安卓模拟器
- 反引号在linux中的作用
- 产业AI公司的简单调研
- 宝藏 窗帘 窗布VRay材质球素材推荐
- MBA提前面试:商学院看重软实力
- 用实际例子理解回调函数(Calback)
- DevOps之自动化测试
- 安装blackbox_exporter
- 基于PHP+MySQL音乐网站的设计与开发