dedecms为后台自定义菜单的完整方法

品味人生 • 发布于 2019-02-01 21:37:02

这个家伙很害羞,不想介绍自己!

最近在给客户定制一个企业网站,客户要求使用dedecms作为管理后台。

由于客户提出了许多定制功能,因此会用到dedecms较多的内置功能来实现。

可是dedemcs的功能都相对分散,如果交付到用户手中,难免会使用户难以学习与使用。

因此,这里就需要我们在后台为客户定制一个快捷类型的菜单,将分散在各个模块中的功能整理到一起,使用户能够易学易用。

 

首先,我们需要找到dedecms后台菜单的模板文件,路径为/dede/templets/index_menu2.htm

打开文件后,首先我们需要找到

<a id='link1' class='mmac'>

<div onClick="ShowMainMenu(1)">核心</div>

</a>


这是dede默认的第一个菜单。

然后在这穿代码前面插入我们自己的菜单标签,

<a id='link9' class='mmac'>

<div onClick="ShowMainMenu(9)">快捷</div>

</a>


这里说明一下,id=link9 这里的数字9 是指为这个菜单设定一个ID,这个ID不要与已有的菜单ID重复,具体想设定为多少可以随意。 class=mmac 代表默认显示为选中状态的样式,如果想将自定义菜单设置为默认显示的菜单,可以把class改为mmac,将其他mmac的菜单状态改为mm

 

菜单的标签按钮设置完成之后,我们需要再给菜单设立一个占位容器,找到代码

<div id='ct100'></div>

在它的上面插入我们自己的容器代码,即<div id='ct9'></div> ,请注意,这里的ct9 中的数字9是与之前标签ID一一对应的。

找到代码: if(!empty($openitem) && $openitem!=1)

修改为: if(!empty($openitem) && $openitem!=9)

 

继续,找到代码: ShowMainMenu(100);

修改为: ShowMainMenu(9);

注意,这里的9也是与上面的ID对应的。

到这里,菜单模板的设置已经完成,保存并上传文档。

 

接着我们需要在dede的程序对象中,注册我们需要的菜单。打开/dede/inc/inc_menu.php

在代码的最下面,我们可以看到有很长一排“---------------”,在这些符号的前面插入我们的菜单代码,如下:

<m:top item='9_' name='推送代码管理' display='none'>
<m:item name='英文-幻灯片' link='ad_edit.php?aid=21&dopost=edit' rank='' target='main' />
</m:top>

这里对代码做一些简单的说明,标签<m:top>代表菜单的大分类,<m:item>代表菜单的子项目。

上述代码中,<m:top>标签中的 item=9_ 中的数字9也需要和之前设置的ID对应。 name为菜单分类的标题名字。

<m:item>中的link为你需要跳转的链接, rank直接留空即可,target有两种参数,main代表页面在右侧的iframe窗体中打开,如果使用_blank则会打开一个新的窗口,一般可以用于跳转到用户的网站上,或者QQ在线之类的。