介绍完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
$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使用
breadcrumbs)):?>
widget('zii.widgets.cbreadcrumbs', array(
'links'=>$this->breadcrumbs,
)); ?>
本例使用yii缺省的css,显示结果如下:
如果不使用css,显 示结果如下:
由此可见,需要同时使用cmenu组件配合合适的css才能显示漂亮的菜单。
以上就是php开发框架yii framework教程(29) zii组件-menu示例的内容。