Skip to main content
The bundle uses a two-part configuration model:
  • YAML (config/packages/nowo_dashboard_menu.yaml) — global behavior: database connection, cache, locales, icon prefix map, API, and dashboard admin options.
  • Database — individual menus and their items: code, name, CSS classes, permissions, depth, collapsible behavior, and more.
Menus are defined in the database — either through the admin dashboard or fixtures. YAML only configures global behavior shared across all menus.

Full example

config/packages/nowo_dashboard_menu.yaml
nowo_dashboard_menu:
    project: my_app                   # optional, for multi-app shared DB
    doctrine:
        connection: default
        table_prefix: ''              # e.g. 'app_'
    cache:
        ttl: 60
        pool: cache.app
    icon_library_prefix_map:
        bootstrap-icons: bi
    locales: ['es', 'en', 'fr']
    default_locale: 'en'
    permission_checker_choices:
        - Nowo\DashboardMenuBundle\Service\AllowAllMenuPermissionChecker
        - App\Service\MyPermissionChecker
    api:
        enabled: true
        path_prefix: /api/menu
    dashboard:
        enabled: true
        layout_template: '@NowoDashboardMenuBundle/dashboard/layout.html.twig'
        route_name_exclude_patterns: ['^_', '^web_profiler']
        pagination:
            enabled: true
            per_page: 20
        modals:
            menu_form: normal
            copy: normal
            item_form: lg
            delete: normal
        required_role: ROLE_ADMIN
        import_max_bytes: 2097152
        import_export_rate_limit:
            limit: 10
            interval: 60

Root-level options

OptionTypeDefaultDescription
projectstring|nullnullOptional identifier when multiple apps share the same database.
doctrineobjectDBAL connection and table prefix. See Doctrine configuration.
cacheobjectMenu tree cache TTL and pool. See Cache configuration.
icon_library_prefix_mapobject{bootstrap-icons: bi}Maps full library names to short prefixes for ux_icon(). See Icon library.
localesstring[][]Enabled locales for menu item labels. See Locales and translations.
default_localestring|nullnullFallback locale. See Locales and translations.
permission_checker_choiceslist or map[]Services for the “Permission checker” dropdown in the dashboard.
apiobjectJSON API toggle and path prefix. See JSON API configuration.
dashboardobjectAdmin dashboard options. See Dashboard configuration.

Detailed sub-pages

Doctrine

DBAL connection, table prefix, and migration command.

Cache

Tree cache TTL and PSR-6 pool.

Icon library

Map full library names to short prefixes.

Locales

Enabled locales and fallback resolution.

Dashboard

Admin UI options, modals, CSS classes, rate limits.

JSON API

API toggle and path prefix.