silverstripe-australia / grouped-cms-menu
4.0.1
2020-06-01 06:24 UTC
Requires
- silverstripe/admin: ~1.3
Replaces
README
此模块允许您将 CMS 菜单项分组到嵌套列表中,当鼠标悬停时展开。当 CMS 菜单项太多,屏幕空间不足时,这非常有用。
旧版本可通过相应的分支获取。
基本用法
为了将 CMS 菜单项分组,在 config.yml
文件中定义您的菜单组。
在下面的示例中,CMSMain(页面)和 AssetAdmin(文件和图片)在“内容”标题下分组。
SilverStripe\Admin\LeftAndMain: menu_groups: Content: children: - SilverStripe-CMS-Controllers-CMSPagesController - SilverStripe-AssetAdmin-Controller-AssetAdmin
排序顺序
每个分组菜单中的项目将遵循您在 YML 中设置的顺序。组本身将按优先级 0 插入到菜单中,其他菜单项根据它们的现有优先级出现在上方或下方。您可以像这样更改菜单组的优先级
SilverStripe\Admin\LeftAndMain: menu_groups: Other: priority: -500 children: - SilverStripe-Reports-ReportAdmin - SilverStripe-Admin-SecurityAdmin
或者您可以通过“分组”项目本身来使任何菜单项遵循您在配置中设置的顺序
SilverStripe\Admin\LeftAndMain: menu_groups: SilverStripe\CMS\Controllers\CMSPagesController: children: - SilverStripe-CMS-Controllers-CMSPagesController Other: children: - SilverStripe-Reports-ReportAdmin - SilverStripe-Admin-SecurityAdmin
当您有较大的菜单,并且/或者多个模块组合到同一菜单时,这可能需要更一致的方法。在这种情况下,您可能需要按字母顺序对分组菜单进行排序。
SilverStripe\Admin\LeftAndMain: menu_groups: SilverStripe\CMS\Controllers\CMSPagesController: children: - SilverStripe-CMS-Controllers-CMSPagesController Other: children: - SilverStripe-Reports-ReportAdmin - SilverStripe-Admin-SecurityAdmin menu_groups_alphabetical_sorting: true
分组图标
您可以为分组添加 CSS 类以添加图标。类名将以 'font-icon-' 前缀开头。在下面的示例中,与页面菜单项相同的图标将被用于内容组
SilverStripe\Admin\LeftAndMain: menu_groups: Content: icon: 'sitemap' children: - SilverStripe-CMS-Controllers-CMSPagesController - SilverStripe-AssetAdmin-Controller-AssetAdmin;
翻译分组标签
可以通过提供以下翻译键来翻译分组标签(以下列出的“其他”分组为例)
langcode:
GroupedCmsMenuLabel:
Other: 'translated text'
如果分组标签包含空格,这些空格将被转换为下划线作为键
langcode:
GroupedCmsMenuLabel:
Other_Label: 'translated text'
要求
- SilverStripe 4.0+(请参阅其他分支以了解与旧版本的兼容性)
项目链接
致谢
- 非常感谢 Russ Michell(《phptek》)将此模块升级为与 SS4 兼容!