介绍完Yii数据库接口外,从本篇开始介绍Zii组件,包括列表视图ListView,表格视图GridView,此外还包括一些基于JQuery的UI组件,如AutoComplete,DataPicker, Button, Drag 和 Drop等。
本文介绍Menu菜单用法,CMenu使用Html 列表显示多级菜单,Menu配置通过其属性item来配置,每个菜单项包括三个主要属性
此外还包括如下属性:
一般可以把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,显示结果如下: