hestec / silverstripe-menu
添加多个通过yml定义并通过CMS管理的菜单。
2.0.0
2022-08-04 04:41 UTC
Requires
README
添加多个通过yml定义并通过CMS管理的菜单。
安装
Composer是推荐安装SilverStripe模块的方式。
composer require gorriecoe/silverstripe-menu
需求
- silverstripe/framework ^4.0
- symbiote/silverstripe-gridfieldextensions ^3.1
- gorriecoe/silverstripe link ^1.1
维护者
创建自定义菜单
由于在模板中通常通过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。