PHPackages                             wedevelopnl/silverstripe-menustructure - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. wedevelopnl/silverstripe-menustructure

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

wedevelopnl/silverstripe-menustructure
======================================

Silverstripe module to create nested menus

4.0.2(1y ago)04.7k↓34.4%3[1 issues](https://github.com/wedevelopnl/silverstripe-menustructure/issues)[3 PRs](https://github.com/wedevelopnl/silverstripe-menustructure/pulls)PHPPHP ^8.1CI passing

Since Apr 10Pushed 1w ago10 watchersCompare

[ Source](https://github.com/wedevelopnl/silverstripe-menustructure)[ Packagist](https://packagist.org/packages/wedevelopnl/silverstripe-menustructure)[ RSS](/packages/wedevelopnl-silverstripe-menustructure/feed)WikiDiscussions 6 Synced 2w ago

READMEChangelog (10)Dependencies (4)Versions (35)Used By (0)

SilverStripe Menustructure
==========================

[](#silverstripe-menustructure)

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
------------

[](#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
------------

[](#installation)

```
composer require wedevelopnl/silverstripe-menustructure
```

Then run `dev/build?flush=1` to pick up the new database schema.

Usage
-----

[](#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](docs/usage/templates.md) for the full rendering contract — link types, active-link styling, nesting, and the bundled markup.

Documentation
-------------

[](#documentation)

### Usage guides

[](#usage-guides)

- [Template integration](docs/usage/templates.md) — `$MenustructureMenu` / `$ViewableMenustructureMenu` helpers, custom templates, link types, active-link styling
- [Configuration](docs/usage/configuration.md) — `protected_menus`, `enable_query_string`, `enable_page_anchor`, permission codes

### Architecture

[](#architecture)

- [Data model](docs/architecture/data-model.md) — `Menu` / `MenuItem` / `LinkType` enum, cascade behaviour, extension hooks

### Contributing

[](#contributing)

- [Contributing guide](docs/contributing.md) — dev environment, test/coverage/QA commands, pull-request conventions

Changelog
---------

[](#changelog)

See [CHANGELOG.md](CHANGELOG.md) for release history.

License
-------

[](#license)

See [LICENSE](LICENSE).

Maintainers
-----------

[](#maintainers)

[WeDevelop](https://www.wedevelop.nl/) —

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance75

Regular maintenance activity

Popularity23

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~126 days

Recently: every ~226 days

Total

25

Last Release

20d ago

Major Versions

1.1.0 → 2.0.02022-01-20

v2.0.2 → 3.0.02023-01-30

3.0.1 → 4.0.02023-07-27

3.0.2 → 4.0.22025-06-26

4.0.2 → 6.0.0-rc.12026-06-22

PHP version history (3 changes)3.0.0PHP &gt;=8.1

4.0.0PHP ^8.1

6.0.0-rc.1PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/7a41b16aafbe795cfad0b4941b9ac37305e5bba2aefbcf56cc1f0c180928de27?d=identicon)[WeDevelop](/maintainers/WeDevelop)

---

Top Contributors

[![erikfrerejean](https://avatars.githubusercontent.com/u/197732?v=4)](https://github.com/erikfrerejean "erikfrerejean (22 commits)")[![Dennisprins93](https://avatars.githubusercontent.com/u/9679179?v=4)](https://github.com/Dennisprins93 "Dennisprins93 (17 commits)")[![michelsteege](https://avatars.githubusercontent.com/u/5492453?v=4)](https://github.com/michelsteege "michelsteege (10 commits)")[![robertvanlienden](https://avatars.githubusercontent.com/u/27813145?v=4)](https://github.com/robertvanlienden "robertvanlienden (6 commits)")[![renskorswagen](https://avatars.githubusercontent.com/u/5188287?v=4)](https://github.com/renskorswagen "renskorswagen (2 commits)")[![floriskroeze](https://avatars.githubusercontent.com/u/74931640?v=4)](https://github.com/floriskroeze "floriskroeze (1 commits)")[![DRuiter](https://avatars.githubusercontent.com/u/7546161?v=4)](https://github.com/DRuiter "DRuiter (1 commits)")[![cjsewell](https://avatars.githubusercontent.com/u/1856199?v=4)](https://github.com/cjsewell "cjsewell (1 commits)")[![mirche97](https://avatars.githubusercontent.com/u/1713050?v=4)](https://github.com/mirche97 "mirche97 (1 commits)")

---

Tags

nestedsilverstripemenulinks

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/wedevelopnl-silverstripe-menustructure/health.svg)

```
[![Health](https://phpackages.com/badges/wedevelopnl-silverstripe-menustructure/health.svg)](https://phpackages.com/packages/wedevelopnl-silverstripe-menustructure)
```

###  Alternatives

[silverstripe/userforms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code

1321.1M94](/packages/silverstripe-userforms)[dnadesign/silverstripe-elemental

Elemental pagetype and collection of Elements

1101.1M340](/packages/dnadesign-silverstripe-elemental)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46304.8k9](/packages/symbiote-silverstripe-advancedworkflow)[silvershop/core

Provides an ecommerce product catalog, shopping cart, and order management system

11341.3k53](/packages/silvershop-core)[axllent/silverstripe-cms-tweaks

Several CMS usability improvements

1726.6k1](/packages/axllent-silverstripe-cms-tweaks)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
