gorriecoe/silverstripe-menu

通过yml文件定义并使用CMS管理多个菜单。

支持包维护!
Ko Fi

安装数: 21,822

依赖者: 2

建议者: 0

安全: 0

星标: 5

关注者: 3

分支: 16

开放问题: 9

类型:silverstripe-vendormodule

2.0.0 2022-08-04 04:41 UTC

This package is auto-updated.

Last update: 2024-09-04 08:45:08 UTC


README

通过yml文件定义并使用CMS管理多个菜单。

安装

Composer是推荐安装SilverStripe模块的方式。

composer require gorriecoe/silverstripe-menu

要求

维护者

创建自定义菜单

由于在模板中通常通过slug引用MenuSets,因此可以在/dev/build任务期间自动创建集合并配置它们。这些集合并不能通过CMS删除。

gorriecoe\Menu\Models\MenuSet:
  sets:
    main: Main menu
    secondary: Another menu

嵌套和平铺菜单

默认情况下,菜单将是平铺的,这意味着链接不能有相关的子链接。如果您需要嵌套的菜单结构,可以通过在以下yml文件中添加allow_children: true来实现。

gorriecoe\Menu\Models\MenuSet:
  sets:
    footer:
      title: Footer menu
      allow_children: true

向菜单添加链接

创建菜单后,您可以在管理区域添加链接。字段继承自silverstripe link

自动将链接从sitetree添加到特定菜单

如果您需要在页面创建后自动将链接添加到菜单,可以通过向页面添加以下扩展并定义owns_menu来实现。

Page:
  extensions:
    - gorriecoe\Menu\Extensions\SiteTreeAutoCreateExtension
  owns_menu:
    - main
    - footer

在模板中使用

<ul>
    <% loop MenuSet('footer') %>
        <li>
            {$Me}
        </li>
    <% end_loop %>
</ul>

有关更多模板选项,请参阅silverstripe link