nis / silverstripe-grouped-cms-menu
允许您对CMS菜单项进行分组。
3.0.2
2017-11-23 23:57 UTC
Requires
- silverstripe/framework: ^3.2
Replaces
README
本模块允许您将CMS菜单项分组为嵌套列表,当鼠标悬停时展开。当CMS菜单项很多导致屏幕空间不足时,这非常有用。
旧版本可通过适当的分支获取。
基本用法
为了将CMS菜单项分组,请在 config.yml
文件中定义您的菜单组。
在下面的示例中,CMSMain(页面)和AssetAdmin(文件和图像)被分组在“内容”标题下。
LeftAndMain: menu_groups: Content: - CMSPagesController - AssetAdmin
排序顺序
每个分组菜单中的项将遵循您在YML中设置的顺序。组本身将以0优先级插入到菜单中,其他菜单项将根据它们的现有优先级出现在其上方或下方。您可以通过以下方式更改菜单组的优先级
LeftAndMain: menu_groups: Other: priority: -500 - ReportAdmin - SecurityAdmin
或者,您可以“分组”项目本身,以使任何菜单项遵循您在配置中设置的顺序
LeftAndMain: menu_groups: CMSPagesController: - CMSPagesController Other: - ReportAdmin - AssetAdmin
当您有较大的菜单,以及/或多个模块组合到同一个菜单时,这可能需要更一致的方法。在这种情况下,您可以对分组菜单按字母顺序排序。
LeftAndMain: menu_groups: CMSPagesController: - CMSPagesController Other: - ReportAdmin - AssetAdmin menu_groups_alphabetical_sorting: true
分组图标
您可以为组添加CSS类以添加图标。类名将以 'icon-' 为前缀。在下面的示例中,与页面菜单项相同的图标将被用于内容组。
LeftAndMain: menu_groups: Content: icon: 'cmspagescontroller' - CMSPagesController - AssetAdmin
翻译分组标签
可以通过提供以下翻译键来翻译组标签(以下面的“其他”组为例)
langcode:
GroupedCmsMenuLabel:
Other: 'translated text'
如果组标签有空格,则这些空格将被转换为键下的下划线
langcode:
GroupedCmsMenuLabel:
Other_Label: 'translated text'
维护者联系方式
- Marcus Nyeholt (marcus@symbiote.com.au)
要求
- SilverStripe 3.2+(查看其他分支以获取与旧版本的兼容性信息)