Adds multiple menus that are defined via yml and managed via the cms.
Adds multiple menus that are defined via yml and managed via the cms.
Composer is the recommended way of installing SilverStripe modules.
composer require gorriecoe/silverstripe-menu
As it is common to reference MenuSets by slug in templates, you can configure sets to be created automatically during the /dev/build task. These sets cannot be deleted through the CMS.
gorriecoe\Menu\Models\MenuSet:
sets:
main: Main menu
secondary: Another menu
By default menus will be flat, which means links can not have child links associated with them. If you need a nested menu structure, you can do so by adding allow_children: true
to the yml file as shown below.
gorriecoe\Menu\Models\MenuSet:
sets:
footer:
title: Footer menu
allow_children: true
Once you have created your menus you can add links in the admin area. The fields are inherited from silverstripe link.
If you need to automatically add links to a menu after the creation of a page, you can do so by adding the following extension to page and defining owns_menu
.
Page:
extensions:
- gorriecoe\Menu\Extensions\SiteTreeAutoCreateExtension
owns_menu:
- main
- footer
<ul>
<% loop MenuSet('footer') %>
<li>
{$Me}
</li>
<% end_loop %>
</ul>
See silverstripe link for more template options.
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem