Skip to content

nowo-tech/BreadcrumbKitBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Breadcrumb Kit Bundle

CI Packagist Version Packagist Downloads License PHP Symfony GitHub stars Coverage

Found this useful? Install from Packagist and consider starring the GitHub repository.

Symfony bundle for database-driven breadcrumb trails: match the current route by name + static parameters, walk a parent chain, support i18n (JSON translations on entities), optional links, per-collection presentation (icons, CSS, responsive JSON), and PSR-6 caching of serialized item rows.

Design aligns with DashboardMenuBundle (Doctrine, YAML defaults, cache pool, Twig namespace overrides).

FrankenPHP Friendly Worker Mode

This bundle is FrankenPHP worker mode friendly.

Version information

Latest release: v2.0.5 (2026-07-23). Requires PHP 8.2+ and Symfony 7+. Tables: dashboard_breadcrumb_* (see UPGRADING.md from v1.2.x).

Status

MVP (v2.0.5): entities (dashboard_breadcrumb_* tables, aligned with DashboardMenuBundle), repositories, BreadcrumbLoader, BreadcrumbUrlResolver, Twig (breadcrumb_trail, breadcrumb_render), optional web dashboard, presentation options, dashboard i18n en/es/de/fr/it/nl/pt. Demo: Symfony 8.1 / PHP 8.5 (8021) with FrankenPHP. Flex recipe in .symfony/recipe/. Planned: migration command, event-based enrichers.

FrankenPHP: demo selects classic vs worker via FRANKENPHP_MODE (default worker). See docs/DEMO-FRANKENPHP.md.

Requirements

  • PHP >=8.2 <8.6
  • Symfony 7.x or 8.x (see composer.json)
  • Doctrine ORM

Quick start

composer require nowo-tech/breadcrumb-kit-bundle

Register the bundle in config/bundles.php:

Nowo\BreadcrumbKitBundle\NowoBreadcrumbKitBundle::class => ['all' => true],

With Symfony Flex, the recipe (when available from Packagist or your recipe index) registers the bundle and adds config/routes. Without Flex, see docs/INSTALLATION.md for manual steps.

Example config/packages/nowo_breadcrumb_kit.yaml:

nowo_breadcrumb_kit:
    locales: ['en', 'es']
    default_locale: 'en'
    default_collection: 'default'
    cache:
        ttl: 60
        pool: cache.app

Documentation

Additional documentation

Demo application

Symfony 8 (Symfony 8.1, PHP 8.5):

make -C demo/symfony8 up

Opens at http://localhost:8021 by default; the app redirects / to /en/.

Tests and coverage

  • PHP: run composer test-coverage or make test-coverage (Docker). Update the percentage below when you change code or tests; CI enforces a green build and generates coverage.xml.
Language Coverage (Lines / notes)
PHP 99.52% (Lines, PHPUnit + PCOV; run make test-coverage to refresh)
TS/JS N/A
Python N/A

Development

composer install
composer test
composer phpstan

With Docker from the bundle root:

make install
make test-coverage

License

MIT. See LICENSE.

About

Symfony bundle for **database-driven breadcrumb trails**: match the current route by name + static parameters, walk a **parent chain**, support **i18n** (JSON translations on entities), **optional links**, per-**collection** presentation (icons, CSS, responsive JSON), and **PSR-6 caching** of serialized item rows.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages