Maison  >  Article  >  php教程  >  Yii Framework 开发教程Zii组件-Menu 示例

Yii Framework 开发教程Zii组件-Menu 示例

WBOY
WBOYoriginal
2016-06-13 10:54:001013parcourir

 介绍完Yii数据库接口外,从本篇开始介绍Zii组件,包括列表视图ListView,表格视图GridView,此外还包括一些基于JQuery的UI组件,如AutoComplete,DataPicker, Button, Drag 和 Drop等。

 

本文介绍Menu菜单用法,CMenu使用Html 列表显示多级菜单,Menu配置通过其属性item来配置,每个菜单项包括三个主要属性

 

visible  是否可见

active 当前菜单项是否选中,

items 子菜单项。

此外还包括如下属性:

 

label: 可选,菜单名称,支持使用HTML标记.

url: 可选,点击该菜单转的URL链接

template: 可选,菜单模板www.2cto.com

linkOptions: array, 可选,额外的HTML链接属性

itemOptions: array, 可选,额外的显示菜单项的HTML属性。

submenuOptions: array, 可选,额外显示子菜单的HTML属性.

一般可以把Menu定义在Layout布局中,比如本例,修改protected/views/layout/main.php

 

 

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才能显示漂亮的菜单。

 

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn