后台管理菜单的自定义之原理篇

作者:动易网络 来源:本站原创 点击数: 发布时间:2008年07月14日

    长久以来,通用型的内容管理系统为站长们的使用提供便利的同时,本身功能的通用性特点也为站长们带来了少许麻烦。比如,有的站长只需要CMS模块,有的站长需要客户关系模块,有的站长只需要网上卖东西的网店模块,有的通用型功能模块可能永远也不会用到。站长们为精简系统和满足需求往往都需要进行很大的架构更改或者繁琐工作,大大提高站点的维护成本,
    因此,SiteFactory™ 在设计之初,就将“自定义后台管理菜单”功能做为一个核心功能来研发,通过这个功能,站长们就可以便捷的个性化 、合理化的设计出符合自己管理模式的后台框架来。
SiteFactory™发布后,可能很多人还不知道如何利用这一功能来进行个性化自己网站的后台管理菜单,今天我就来为大家介绍一下。
    我们先看官方默认的后台管理菜单效果:

图片点击可在新窗口打开查看此主题相关图片如下:

    再看我修改的几个个性化后台管理菜单效果:


1、适合于只使用CMS的网站:只有和CMS相关的功能菜单项。


图片点击可在新窗口打开查看此主题相关图片如下:


2、适合于企业电子商务门户网站:内容管理、商店管理、客户关系管理三个主功能菜单项并重。


图片点击可在新窗口打开查看此主题相关图片如下:


3、适合于教育局或学校类用户的教育门户网站:内容管理、学籍管理、问卷调查三个主功能菜单项并重。

 
图片点击可在新窗口打开查看此主题相关图片如下:


4、适合于以销售商品为主的网店类网站:主要显示和网店相关的功能菜单项。


图片点击可在新窗口打开查看此主题相关图片如下:

    看到这些个性化后台管理菜单效果,是不是心动了呢?是不是想改出符合自己需求的个性化后台管理菜单效果来了呢?想的话就继续往下看吧!
    俗话说,磨刀不误砍柴功。所以,大家先别急着动手修改,先跟着我明白一下SiteFactory的后台管理菜单的原理,明白了原理再动手就很容易了。
    如下图所示,后台管理菜单分为三级菜单即主菜单(一级菜单)、二级菜单、三级菜单。
    一级菜单:我的工作台、内容管理、商店管理、客户关系管理等;
    二级菜单:信息管理、生成管理、评论管理、采集管理等;
    三级菜单:内容管理、专题内容管理、回收站管理等。

图片点击可在新窗口打开查看此主题相关图片如下:

    实际上,后台菜单项目都和“根目录AdminCommonMainMenu.xml”这个XML文件中的节点项目是对应的。简单的说,个性化配置后台管理菜单就是通过修改这个文件来实现的。所以我们重点就是研究这个文件的结构。

    打开 MainMenu.xml 文件认真看一看,你就会发现这个XML文件节点项目与后台管理菜单项目的对应关系了。不过我还是简单介绍一下吧。

MainMenu.xml的总结构如下:



    菜单代码内容

“菜单代码内容”的结构如下:

  id="ContentManage"
   title="内容管理" …     一级菜单
  id="ContentManage"
   title="信息管理" …     二级菜单
   id="CategoryInfoManage"
   title="内容管理" …     三级菜单



代表的是 “一级菜单”,如下图红色部分所示;

图片点击可在新窗口打开查看此主题相关图片如下:

代表的是 “二级菜单”,如下图红色部分;

图片点击可在新窗口打开查看此主题相关图片如下:

  代表的是 “三级菜单”,如下图红色部分;

图片点击可在新窗口打开查看此主题相关图片如下:

我们来看其中一个节点:

在每个节点中,我们会发现很多参数项,这些参数的作用是什么呢?下表列出了部分参数的作用:

参数名称                 参数作用
  
 id                          菜单id ,要求在xml文件中必须是唯一的。
 title                       菜单显示名称,显示在菜单页面上。
 leftUrl                   点击菜单项时,在菜单下方左框架中打开的页面地址
 rightUrl                 点击菜单项时,在菜单下方右框架中打开的页面地址
 ShowOnForm       是否在角色权限配置表单中显示此菜单项。有一些不需要分配
                             给普通管理员权限的菜单项就可以设置ShowOnForm="false"。
 ShowOnMenu      是否在菜单中显示。有一些功能的细分权限,必须进入页面后
                             才能继续判断,不需要对应的菜单项,就可以设置
 operateCode       此菜单的权限操作码。系统的每个权限都对应了一个操作代码。
                             程序中就是根据操作码来做权限判断。如果想允许任何管理员都拥
                             有此菜单的操作权限,可以设置 operateCode="None" 。
 
 description           菜单功能的描述信息。


下面我再详细说明每个参数的作用:

1、“title”参数的作用:显示菜单的名称。如下图所示:
 
图片点击可在新窗口打开查看此主题相关图片如下:

2、“leftUrl”/“rightUrl”参数的作用:点击菜单项时,在菜单下方左/右框架中打开的页面地址,如下图所示:
 
 
图片点击可在新窗口打开查看此主题相关图片如下:

3、“OperateCode” 参数的作用:此菜单的权限操作码。系统的每个权限都对应了一个操作代码。程序中就是根据操作码来做权限判断。如果想允许任何管理员都拥有此菜单的操作权限,可以设置 operateCode="None" 。

4、“ShowOnForm” 参数的作用:是否在“用户管理 >> 管理员管理 >> 角色管理 >> 某角色的常规权限设置”这里的权限配置表单中显示此菜单项。有一些不需要分配给普通管理员权限的菜单项就可以设置ShowOnForm="false"。

5、“ShowOnMenu”参数的作用:是否在菜单中显示。有一些功能的细分权限,必须进入页面后才能继续判断,不需要对应的菜单项,就可以设置ShowOnMenu="false"。举个例子就很容易明白了:

    通过上面的介绍,我们知道后台管理菜单的自定义配置是通过XML方式实现的,所以只需要修改xml配置文件就可以达到所需的效果。用户可以方便的通过修改xml 文件中的文字去实现菜单的多语言效果;可以根据自己的需要进行菜单排序;也可以自定义菜单中的管理权限;或者扩充自己需要的模块,……。从而我们看到SiteFactory™ 具有非常好的灵活性、可扩展性。

    好了,原理篇就介绍到这里了。大家应该知道后台管理菜单自定义的原理了吧?是不是想马上自己改一改后台管理菜单了呢?那么就跟着我在下一篇文章《后台管理菜单的自定义——应用篇》亲自体会一下吧。

发布格式有些变化原文档在这里下载:

图片点击可在新窗口打开查看 点击浏览该文件