插件菜单配置
插件自动生成菜单数据,通常我们会在应用插件 Service
的 menu
方法定义菜单配置。
菜单分为两种类型
- 写入全局菜单,在数据表
system_menu
写数据,此方式需要借助数据库迁移工具Phinx
实现; - 通过插件中心进入插件专属空间,左则为当前插件专属菜单,可返回插件中心,此方式需要在插件服务注册类定义菜单;
插件中心统一入口
安装 插件中心 后,可以从插件中心统一入口进入应用插件独立管理菜单,也就是应用插件 Service
的 menu
方法定义的菜单。
写入全局菜单数据
在数据库脚本中,通过应用插件 Service
的 menu
方法获取到菜单配置,调用 think\admin\extend\PhinxExtend::write2menu()
方法写入菜单数据。
这种方法写入的菜单在卸载应用插件时,不会自动删除菜单,需要手动去系统菜单管理删除或去数据库删除。
应用插件菜单案例
应用插件 Service
的 menu
定义菜单,参考:
https://gitee.com/zoujingli/think-plugs-wechat/blob/master/src/Service.php
数据库脚本读取菜单并写入到全局菜单,参考:
https://gitee.com/zoujingli/think-plugs-wechat/blob/master/stc/database/20221013045830_install_wechat_data.php#L41