九xadmin菜单分组管理

Posted fiona-zhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了九xadmin菜单分组管理相关的知识,希望对你有一定的参考价值。

有的时候,我们的菜单很多很杂,想要把菜单进行分组管理,如下

技术分享图片

要实现上面这个功能,分为以下几步:

1、 我们需要定义一个变量用来确定当前app属于哪个组,所以在每个app所属的apps.py中加一个变量 menu_name = "分组名" 如下:

技术分享图片

2、我们知道,xadmin中CommAdminView是用户已经登录后显示的View,也是所有登陆后View的基础类。

该View主要作用是创建了Xadmin的通用元素,例如:系统菜单,用户信息等。插件可以通过注册该View来修改这些信息。

所以我们在get_nav_menu方法中,加入我们自定义的变量 menu_cate 用于在html中分组使用。

技术分享图片

3、修改html

查看CommAdminView源码,我们还可以看到,它的基础模板是base_site.html, 同时还指明menu_template = ‘xadmin/includes/sitemenu_default.html‘

在base_site.html中,有个div是用来承载左侧菜单栏的:

技术分享图片

它里面引用了menu_template,所以我们直接重写sitemenu_default.html即可,下面先写了三个div容器,分别用于承载三个分组,里面的内容由它的继承者 sitemenu_accordion.html来加入。

技术分享图片

然后在sitemenu_default.html的继承者sitemenu_accordion.html中分别编写我们自己定义的block: navbar_md、navbar_md_forum 和 navbar_md_wechat

下面以navbar_md为例,代码如下:

循环所有的菜单,如果当前菜单的menu_cate和我们分组的名称相等,即归为一个组,其他组亦然。

技术分享图片

 

以上是关于九xadmin菜单分组管理的主要内容,如果未能解决你的问题,请参考以下文章

Xadmin使用二

SpringBoot + Spring Cloud +Vue 管理系统前端搭建(九动态加载菜单)

SpringBoot + Spring Cloud +Vue 管理系统前端搭建(九动态加载菜单)

安装xadmin后台管理

xadmin后台管理

在线教育平台:Xadmin快速搭建后台管理系统