Skip to content

nowo-tech/BreadcrumbKitBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 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).

Version information

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

Status

MVP (v2.0.2): 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 (8021) with FrankenPHP. Flex recipe in .symfony/recipe/. Planned: migration command, event-based enrichers.

FrankenPHP worker mode: demos use worker-enabled Caddyfile for production-style runs; development uses Caddyfile.dev without workers. 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.4):

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

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors