我有一个模块,我需要:
- <
- 管理模型/gh>管理模块设置
- API认证
- 看,感觉 等
对于管理模型我显然有一个ModelAdmin
扩展
对于后者管理模块设置我不得不创建一个DataExtension
虽然这将"模块功能"分成两个部分,ModelAdmin
在侧边栏上有自己的菜单项,但DataExtension
只在设置菜单项上添加选项卡。
我已经搜索了周围,但没有关于如何在ModelAdmin
创建的同一菜单项中合并我的自定义选项卡。
这可能吗?我理解ModelAdmin
背后的语义是,它只管理模型,但肯定存在的功能,你可以添加标签到菜单项,它创建的不是模型?
这当然不是不正常的情况
唯一可以做到这一点的方法是扩展LeftAndMain(正如您所提到的)。
这可能有点令人生畏,但LeftAndMain基本上只是3个模板的容器:
- 主管理模板
- 左侧导航模板
- 主编辑表单
在基本层面上,您可以创建一个扩展到LeftAndMain,然后添加一个自定义的"EditForm"函数,该函数具有您需要的设置字段(以及保存数据的操作)。
如果你想让它看起来更漂亮,你可以覆盖框架/admin/模板中的默认LeftAndMain模板。
在Silverstripe网站上有一些关于这个的文档:https://docs.silverstripe.org/en/3.4/developer_guides/customising_the_admin_interface/cms_layout/
希望对你有帮助。