Skip to main content
The Nowo Dashboard Menu Bundle exposes four categories of public API:
SurfaceWhat it does
HTTP APIFetch a menu tree as JSON for SPAs, React, or Vue frontends
Twig functionsRender menus in server-side Symfony templates
Twig filtersTransform icon identifiers inside templates
PHP interfacesExtend the bundle with custom permission and code-resolution logic
The Menu and MenuItem Doctrine entities are not part of the public API. You receive them inside the tree arrays returned by Twig functions and the HTTP endpoint, but you should not instantiate or persist them directly in application code.

HTTP API

GET /api/menu/{code}

Returns a JSON array of menu tree nodes for a given menu code. Supports locale and context-set query parameters.

Twig functions

dashboard_menu_tree

Load the full menu tree for a code, with optional permission context and context sets.

dashboard_menu_config

Retrieve render configuration (CSS classes, depth limit, icons, collapsible behaviour) for a menu.

dashboard_menu_href

Generate a URL from a MenuItem object, with an optional Symfony URL reference type.

Twig filters

dashboard_menu_icon_name

Resolves a full icon identifier (e.g. bootstrap-icons:house) to the short form expected by the icon library (e.g. bi:house) using icon_library_prefix_map.

PHP interfaces

MenuPermissionCheckerInterface

Implement to control per-item visibility based on roles, feature flags, or any custom logic. Auto-registered — no services.yaml tag needed.

MenuCodeResolverInterface

Implement to resolve which menu variant to load based on request attributes such as operatorId or partnerId. Used by both the Twig functions and the HTTP endpoint.