☰
Current Page
Main Menu
Home
Home
Editing
复制扩展菜单
Edit
Preview
h1
h2
h3
default
Set your preferred keybinding
default
vim
emacs
markdown
Set this page's format to
AsciiDoc
Creole
Markdown
MediaWiki
Org-mode
Plain Text
RDoc
Textile
Rendering unavailable for
BibTeX
Pod
reStructuredText
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
# 复制扩展菜单 ## 实现功能 菜单添加扩展功能,一个app里的菜单可以修改其他app菜单的状态。 ## 版本依赖 引擎 v2.2.2.RELEASE 以上 ## 实现原理 添加mode、inherit_ids两个属性 | 字段 | 类型 | 描述 | 可选值 | 默认值 | | ----------- | ------ | ------------ | ---------------- | ------ | | mode | 字符串 | 模式 | primay\extension | primay | | inherit_ids | 字符串 | 扩展的菜单Id | 菜单Id | null | 在下面两个app的菜单种子数据,如果app1和app2同时安装,app2的菜单会扩展修改app1的菜单。当卸载app2时,系统菜单会恢复到app1的菜单状态。 ## 配置示例 app1的菜单种子数据 ```json { "menus": { "app1_menu1": { "sequence": "1", "name": "menu1", "display_name": "主菜单" }, "app1_menu2": { // 在app2的菜单中会复制这个菜单 "name": "menu2", "sequence": "1", "display_name": "子菜单1", "view": "from,grid,search", "model": "model1", "parent_ids": { "@ref": "app1_menu1" } }, "app1_menu3": { // 在app2的菜单中会扩展这个菜单 "name": "menu3", "sequence": "2", "display_name": "子菜单2", "view": "from,grid,search", "model": "model2", "parent_ids": { "@ref": "app1_menu1" } } } } ``` app2的菜单种子数据 ```json { "menus": { "app2_menu1": { "sequence": "1", "name": "menu4", "display_name": "主菜单2" }, "app2_menu2": { "name": "menu5", //复制菜单menu2,放到主菜单2 "sequence": "1", //目前,分布式环境下,两个app要装在同一个容器内才有效 "display_name": "子菜单1", "view": "from,grid,search", "model": "model1", "parent_ids": { "@ref": "app2_menu1" } }, "app2_menu3": { "active": false, // 隐藏该菜单 "mode": "extension", "inherit_ids": { "@ref": "app1_menu3" // 扩展菜单app1_menu3 } } } } ```
Uploading file...
Sidebar
[[_TOC_]]
Edit message:
Cancel