thewebmen / silverstripe-menustructure
Silverstripe module to create nested menus
Package info
github.com/wedevelopnl/silverstripe-menustructure
Type:silverstripe-vendormodule
pkg:composer/thewebmen/silverstripe-menustructure
Requires
- php: ^8.3
- silverstripe/admin: ^3.0
- silverstripe/cms: ^6.0
- silverstripe/framework: ^6.0
- symbiote/silverstripe-gridfieldextensions: ^5.0
- unclecheese/display-logic: ^4.0
This package is auto-updated.
Last update: 2026-07-28 09:11:59 UTC
README
A SilverStripe CMS module for editor-managed multi-menu navigation — define multiple named menus in the CMS, nest them arbitrarily deep, and render them in templates by slug.
Requirements
- PHP ^8.3
- silverstripe/framework ^6.0, silverstripe/cms ^6.0, silverstripe/admin ^3.0
- unclecheese/display-logic ^4.0, symbiote/silverstripe-gridfieldextensions ^5.0
Installation
composer require wedevelopnl/silverstripe-menustructure
Then run dev/build?flush=1 to pick up the new database schema.
Usage
Create a menu in the CMS under Menus, give it a slug, and render it in any template:
$MenustructureMenu('main-menu')
That uses the bundled Menu.ss template. To render with your own markup:
$ViewableMenustructureMenu('main-menu', 'Includes/PrimaryNavigation')
See Template integration for the full rendering contract — link types, active-link styling, nesting, and the bundled markup.
Documentation
Usage guides
- Template integration —
$MenustructureMenu/$ViewableMenustructureMenuhelpers, custom templates, link types, active-link styling - Configuration —
protected_menus,enable_query_string,enable_page_anchor, permission codes
Architecture
- Data model —
Menu/MenuItem/LinkTypeenum, cascade behaviour, extension hooks
Contributing
- Contributing guide — dev environment, test/coverage/QA commands, pull-request conventions
Changelog
See CHANGELOG.md for release history.
License
See LICENSE.