Yii:zii.widgets.CMenu使用方法

$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/contact')),
                array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
                array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
            ),
 ));

在模板中使用上面的代码,最终会生成以<\ul><\li><\/li><\/ul>构成的菜单列表,针对item中的每一个数组,可以进行以下设置:

label:菜单显示的文本,可以加html进行修饰,但要将encodeLabel参数值设为false

url:链 接地址,若是字符串,则是基于网站根地址的绝对路径,比如网站地址为veitor.net,字符串url设置为”article”,则最终生成的地址为 veitor.net/article,如果设置类型为数组,则效果与createUrl方法一样,比如网址还是veitor.net,设置的数组url 为”array(detail/article)”,则最终生成的地址为veitor.net/?r=detail/article,控制器/方法格式的

visible:可见,boolean值,当然可以用函数来取值,决定什么情况下隐藏

active:正在访问,boolean值,如果是true,会在相应li中加入active样式,下面代码用到$this->id是个很好用的方法

items:定义子目录,array,通过样式可定义收缩排列或者鼠标经过时显示子目录

template:模板,模板中用{menu}来代表替换内容,见下代码

linkOptions:<\a>的属性,可定义class,rel,target等属性,见下代码

itemOptions:<\li>的属性,可定义class等属性,见下代码

submenuOptions:子栏目的<\ul>属性,<\li>和<\a>属性还是和上面一样分别对item设置

activeCssClass:当前选中菜单的css的Class名称

firstItemCssClass:第一个菜单按钮的Css的Class名称

lastItemCssClass:最后一个菜单按钮的Css的Class名称

当然可以分别为每个Item菜单元素添加指定的Class,即在对应的Item元素上增加itemOptions设置(看下面代码)

$this->widget('zii.widgets.CMenu',array(
    'activeCssClass'=>'当前热点元素的样式',
    'firstItemCssClass'=>'第一个元素的样式',
    'lastItemCssClass'=>'最后一个元素的样式',
    'encodeLable'=>'false',  //当值为false时,label标签中的html就会将样式显示出来.
    'htmlOptions'=>array('class'=>'默认样式'),
    'items'=>array(
        array('label'=>'网站概况', 'url'=>array('/admin'),'itemOptions'=>array('class'=>'li_status'),'active'=>$this->id=='admin'?true:false),
        array('label'=>'图片管理', 'url'=>array('/picture'),'template'=>'{menu}this is additional infomation','itemOptions'=>array('class'=>'li_picture'),'active'=>$this->id=='picture'?true:false, 'visible'=>true),
        array('label'=>'管理员管理', 'url'=>array('/manager'),'itemOptions'=>array('class'=>'li_manager'),'submenuOptions'=>array('class'=>'subclass'),'active'=>($this->id=='manager' && $this->action->id!='changepswd')?true:false, 'visible'=>false),
        array('label'=>'密码修改', 'url'=>array('/manager/changepswd'),'linkOptions'=> array('target'=>'_blank'),'itemOptions'=>array('class'=> 'li_changepswd'),'items'=>array(array('label'=>'子栏目'))),'active'=& gt;($this->id=='manager' && $this->action->id=='changepswd')?true:false, 'visible'=>true),
        array('label'=>'登陆', 'url'=>array('/site/login'),'itemOptions'=>array('class'=>'li_login'), 'visible'=>Yii::app()->user->isGuest),
        array('label'=>'退出 ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'),'itemOptions'=>array('class'=>'li_login'), 'visible'=>!Yii::app()->user->isGuest)
    ),
));

id,htmlOptions,owner,skin

Yii:zii.widgets.CMenu使用方法相关推荐

  1. Yii Zii.widgets.Cmenu 操作

    为什么80%的码农都做不了架构师?>>>    $this->widget('zii.widgets.CMenu', array( 'activeCssClass'=>' ...

  2. Yii框架zii.widgets.grid自定义按钮,ajax触发事件并提示

    我们在用表格展示数据并管理的时候,可能会需要用到按钮来操作某一行数据,比如查看,修改,删除! Yii内置了3种按钮:查看,修改和删除,你可以自定义样式.事件.详细配置见类参考:CButtonColum ...

  3. Yii框架zii.widgets.grid自定义按钮

    案例1: <?php $this->widget('zii.widgets.grid.CGridView', array('id'=>'xx-xx-grid','dataProvid ...

  4. Yii Zii组件 CGridView 使用详解

    CGridView 是Yii Framework  Zii的组件, 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView类似,通过设置 data ...

  5. 使用zii.widgets.CDetailView显示内容

    Yii里的CDetailView可以用来显示详细内容,有时会遇到显示的html内容是被转义过的,也就是原本是要显示html样式的,结果显示出来的内容却是把html当作普通文本了. 先看一个CDetai ...

  6. CDbCriteria CArrayDataProvider zii.widgets.grid (1)

    商品汇总/在数据库新建表GoodsSummary实现view得稍作改变 /*  public function actionGoodslist() { $connection=Yii::app()-& ...

  7. CDbCriteria CArrayDataProvider zii.widgets.grid (2)

    //商品汇总     public function actionGoodslist() {         set_time_limit(0);         $criteria = new CD ...

  8. zii.widgets.jui.CJuiDatePicker

    <?php $this->widget('zii.widgets.jui.CJuiDatePicker', array('attribute' => 'issue_to_lead_d ...

  9. php中captcha action,Yii使用Captcha验证码的方法

    本文实例讲述了Yii使用Captcha验证码的方法.分享给大家供大家参考,具体如下: 详细代码可参考:yii自带的示例代码post项目,里面有一个contact表单用到了验证码. 1. Model: ...

最新文章

  1. 移动应用程序和网页应用程序_您的移动应用程序运行缓慢的主要原因以及如何修复它...
  2. Android复习16【材料设计新特性:fragment、RecyclerView】
  3. N-甲基-N-亚硝基脲(MNU)与眼睛健康(思考中)
  4. 深入浅出CChart 每日一课——第十六课 实习之旅,百年老店之新锐WTL
  5. 电路——I/O口定时翻转电平驱动蜂鸣器注意事项
  6. Eclipse创建JSP程序
  7. 如何Vue项目中加载字体的最佳做法
  8. 饿了么微信小程序抓取
  9. Go Tools安装
  10. STM32实现薄膜压力传感器数据采集(标准库和HAL库实现)
  11. GAE+bottle+jinja2+beaker快速开发demo - Python,GAE - language - ITeye论坛
  12. 致远OA任意文件上传
  13. TriCore 与 RT-Thread(TC264 移植)
  14. excel转tsv格式
  15. python 多线程利器-tomorrow
  16. c代码触发sysrq-trigger
  17. css3中的景深,3d,和动画效果
  18. 在html中如何做个人微博,学习记录:爬取个人微博
  19. JAVA byte取值范围表达理解
  20. 最新最全的OCP认证考试分类题库047+042+043与Oracle认证培训10g OCA/OCP中文教材下载...

热门文章

  1. Java base64转化成 inputStream
  2. html登陆成功自动跳转,点击登录,登陆成功,自动跳转到起始页面,这要怎么做?...
  3. Davinci的异构多核间通信基础组件SysLink 2.0
  4. spring-cloud-gateway GlobalFilter 自定义鉴权失败 返回数据结构
  5. 中国自主研制出的速度最高的巨型计算机是,2018年,中国自主研制出的速度最高的巨型计算机是()?...
  6. LLumar龙膜官宣品牌代言人——虚拟偶像「昤珑」
  7. 微支付基础:信任的成本
  8. yum 安装没有公钥_CentOS7.7中使用yum安装进,提示尚未安装任何 GPG 公钥的解决办法...
  9. 谁会成为印度版微信?
  10. 数学建模之spss软件使用和例题