PHPackages                             symedit/menu-bundle - 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. symedit/menu-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

symedit/menu-bundle
===================

Symfony2 Bundle for managing menus with multiple sources

v0.11(10y ago)012PHP

Since May 19Pushed 9y ago1 watchersCompare

[ Source](https://github.com/symedit/MenuBundle)[ Packagist](https://packagist.org/packages/symedit/menu-bundle)[ RSS](/packages/symedit-menu-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (3)Used By (0)

SymEdit Menu Bundle
===================

[](#symedit-menu-bundle)

The main point of this bundle is to allow multiple other bundles to construct a single menu. The way this is done is by adding tags to the DI container and then running the root node of the menu through each of the builders.

This bundle also adds a way to run menu extension after the menu has been built which can allow you to remove nodes before the menu is rendered.

Registering a Builder
=====================

[](#registering-a-builder)

```

```

`menu` is required on the tag. If there are multiple tags with the same menu name then they will be built according to priority (higher priority means the that builder will execute first, default is 0).

Extensions
==========

[](#extensions)

Security Extension
------------------

[](#security-extension)

You may add `is_granted` information to menu items and they will be removed if the user does not have these permissions:

```
$menu->addChild('Label', array(
    'extras' => array(
        'is_granted' => 'ROLE_ADMIN'
    ),
));
```

Remove Empty Dropdowns
----------------------

[](#remove-empty-dropdowns)

You can use `remove_leaf` to remove any dropdowns with no children. We suggest having a main menu builder run first to create each of the dropdowns that your other bundles may use so they won't have to check if they exist first and create them if not. This solves the problem of no other builders using that dropdown:

```
$menu->addChild('Dropdown', array(
    'dropdown' => true, // From MopaBootstrapBundle
    'extras' => array(
        'remove_leaf' => true,
    ),
));
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~127 days

Total

2

Last Release

3889d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1325995?v=4)[Craig Blanchette](/maintainers/isometriks)[@isometriks](https://github.com/isometriks)

---

Top Contributors

[![isometriks](https://avatars.githubusercontent.com/u/1325995?v=4)](https://github.com/isometriks "isometriks (10 commits)")

### Embed Badge

![Health badge](/badges/symedit-menu-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/symedit-menu-bundle/health.svg)](https://phpackages.com/packages/symedit-menu-bundle)
```

PHPackages © 2026

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