集中模块设置和模型管理


Centralising module settings and model administration

我有一个模块,我需要:

    <
  • 管理模型/gh>管理模块设置
    • API认证
    • 看,感觉

对于管理模型我显然有一个ModelAdmin扩展

对于后者管理模块设置我不得不创建一个DataExtension

虽然这将"模块功能"分成两个部分,ModelAdmin在侧边栏上有自己的菜单项,但DataExtension只在设置菜单项上添加选项卡。

我已经搜索了周围,但没有关于如何在ModelAdmin创建的同一菜单项中合并我的自定义选项卡。

这可能吗?我理解ModelAdmin背后的语义是,它只管理模型,但肯定存在的功能,你可以添加标签到菜单项,它创建的不是模型?

这当然不是不正常的情况

唯一可以做到这一点的方法是扩展LeftAndMain(正如您所提到的)。

这可能有点令人生畏,但LeftAndMain基本上只是3个模板的容器:

  1. 主管理模板
  2. 左侧导航模板
  3. 主编辑表单

在基本层面上,您可以创建一个扩展到LeftAndMain,然后添加一个自定义的"EditForm"函数,该函数具有您需要的设置字段(以及保存数据的操作)。

如果你想让它看起来更漂亮,你可以覆盖框架/admin/模板中的默认LeftAndMain模板。

在Silverstripe网站上有一些关于这个的文档:https://docs.silverstripe.org/en/3.4/developer_guides/customising_the_admin_interface/cms_layout/

希望对你有帮助。