内容发布更新时间 : 2024/11/17 21:29:31星期一 下面是文章的全部内容请认真阅读。
1 顶部菜单定制
1.1 概述
本节介绍了WCMV65顶部菜单的相关知识,如果你需要对顶部菜单进行修改,或者添加一些新的菜单入口,你将这节中找到答案。顶部菜单包含了WCM几乎所有操作的入口,其中的菜单项,分成两种类型,一种菜单项的内容是固定不变的,比如菜单项“我的信息”等,如:图1;另一种菜单项的内容或样式随着列表主区域选择对象的不同而动态改变,比如站点列表下,当列表中选择一个对象和多个对象时,菜单项将出现针对一个对象的操作和多个对象的操作,如图2和图3。
图1 固定的菜单项
图2 选择一个站点时的“操作任务”菜单项
图3 选择多个站点时的“操作任务”菜单项
1.1.1 菜单定制涉及到的文件
顶部菜单涉及到的文件都在wcm/app/js/data/menu/目录下,其中sysmenu.js包含了几乎所有的菜单项注册。其它的js文件均为针对某个wcm对象自身的操作,比如:website.js包含了站点的新建和导入等操作。可以根据需要向这个目录添加新的js文件以便注册新的菜单项。
1.1.2 菜单项注册时的json属性描述
属性名 类型 说明 当前菜单项的类型,可选值为: checkItem radioItem type String dynamic separate 其他值或无值 key desc parent hotKey String String String String 复选类型的菜单项 单选类型的菜单项 需要动态加载的菜单项,经常配合items属性使用 菜单中的分割线 普通菜单项 全局唯一的菜单标识,为必需属性 菜单的显示内容,为必需属性 当前菜单项需要注册到的父菜单key信息,顶级菜单项可不包含此属性 当前菜单项的快捷键,仅对顶级菜单项有效 order Number 当前菜单项在父菜单项下出现的顺序,为可选属性,默认添加到当前父菜单下项最后面 如果当前菜单项为普通菜单项,则表示该菜单项下的子菜单项,items为子菜单项的json数组; 如果当前菜单项为dynamic菜单项,items表示需要动态加载的同级菜单项; 显示菜单之前给当前菜单项动态添加的样式,系统默认提供了样式checkItem(多选)、radioItem(单选)、disabled(菜单灰化),可根据需要使用自定义样式。 如:某些菜单项在普通用户登录时,添加disabled样式,以让该菜单失效 单击当前菜单项时,执行的处理函数,函数参数为: wcmEvent 当前列表页面加载完成时,向操作面板发送的event对象,可从中获取列表页面中当前选中的对象个数及对象信息 当前单击操作所单击的菜单项的dom节点 items Array/Function cls Function cmd Function descNode 当前this上下文为该菜单项的item自身 1.1.3 菜单项注册示例说明
效果 reg({ key : 'BZ', 代码 desc : wcm.LANG['SYSMENU_38'] || '帮助', hotKey : 'H', order : 9 }); reg是前面定义的一个菜单注册函数;此处表示注册了一个“帮助”菜单项;BZ为全局唯一的标识信息;wcm.LANG为多语言支持而定义的变量,二次开发时一般可以不考虑,只需要写上后面的“帮助”汉字即可,所以后面的示例,将不再带上此属性;hotKey是为该菜单项定义的快捷键,表示按下Alt+H键将显示此帮助菜单的子菜单项;order表示“帮助”菜单项将出现在菜单组的第九位 说明
效果 代码 有权限: 无权限: reg({ key : 'autoinfor',