agence-adeliom / easy-menu-bundle
A Symfony Menu bundle for EasyAdmin
Package info
github.com/agence-adeliom/easy-menu-bundle
Type:symfony-bundle
pkg:composer/agence-adeliom/easy-menu-bundle
3.0.2
2026-01-29 07:57 UTC
Requires
- php: >=8.2
- agence-adeliom/easy-common-bundle: ^3.0.2
- agence-adeliom/easy-fields-bundle: ^3.0.2
- easycorp/easyadmin-bundle: ^3.4 || ^v4.0
- stof/doctrine-extensions-bundle: ^1.13
- symfony/config: ^6.4 || ^7.0
- symfony/dependency-injection: ^6.4 || ^7.0
- symfony/deprecation-contracts: ^2.2 || ^v3.0
- symfony/event-dispatcher: ^6.4 || ^7.0
- symfony/form: ^6.4 || ^7.0
- symfony/framework-bundle: ^6.4 || ^7.0
- symfony/http-kernel: ^6.4 || ^7.0
- symfony/options-resolver: ^6.4 || ^7.0
- symfony/property-access: ^6.4 || ^7.0
This package is auto-updated.
Last update: 2026-06-17 23:10:44 UTC
README
Easy Menu Bundle
A basic Menu system for Easyadmin.
Versions
| Repository Branch | Version | Symfony Compatibility | PHP Compatibility | Status |
|---|---|---|---|---|
3.x |
3.x |
6.4, and 7.x |
8.2 or higher |
New features and bug fixes |
2.x |
2.x |
5.4, and 6.x |
8.0.2 or higher |
Bug fixes |
1.x |
1.x |
4.4, and 5.x |
7.2.5 or higher |
No longer maintained |
Installation with Symfony Flex
Add our recipes endpoint
{
"extra": {
"symfony": {
"endpoint": [
"https://api.github.com/repos/agence-adeliom/symfony-recipes/contents/index.json?ref=flex/main",
...
"flex://defaults"
],
"allow-contrib": true
}
}
}
Install with composer
composer require agence-adeliom/easy-menu-bundle
Enable tree extension
Update config/packages/stof_doctrine_extensions.yaml to add gedmo tree mapping configuration:
stof_doctrine_extensions: orm: default: tree: true doctrine: orm: entity_managers: default: mappings: gedmo_tree: type: attribute prefix: Gedmo\Tree\Entity dir: "%kernel.project_dir%/vendor/gedmo/doctrine-extensions/src/Tree/Entity" alias: GedmoTree # (optional) it will default to the name set for the mapping is_bundle: false
Setup database
Using doctrine migrations
php bin/console doctrine:migration:diff php bin/console doctrine:migration:migrate
Without
php bin/console doctrine:schema:update --force
Documentation
Manage menu in your Easyadmin dashboard
Go to your dashboard controller, example : src/Controller/Admin/DashboardController.php
<?php namespace App\Controller\Admin; ... use App\Entity\EasyMenu\Menu; class DashboardController extends AbstractDashboardController { ... public function configureMenuItems(): iterable { ... yield MenuItem::linkToCrud('easy.menu.admin.menus', 'fa fa-file-alt', Menu::class); ...
Front add a menu in a page (with twig)
# 1. Create as separate html twig file to render your template : templates/bundles/EasyMenuBundle/front/menus/my_menu_code.html.twig # 2. Execute this twig extension on your controller template {{ easy_menu('my_menu_code') }} # Optional. If you need to specify your own template file path {{ easy_menu('my_menu_code', { 'template': 'menus/my_menu_code.html.twig' }) }}
In your menu template you can list menu items
<ul> {% for item in menu.items %} <li>{{ item.name }}</li> {# recursive loop ... #} {% endfor %} </ul>