nowo-tech/breadcrumb-kit-bundle

Symfony bundle: configurable breadcrumb trails (route matching, i18n, optional links, collection-level presentation).

Maintainers

Package info

github.com/nowo-tech/BreadcrumbKitBundle

Type:symfony-bundle

pkg:composer/nowo-tech/breadcrumb-kit-bundle

Transparency log

Fund package maintenance!

HecFranco

Statistics

Installs: 5

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.2.1 2026-07-03 15:46 UTC

README

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: v1.2.1 (2026-07-03). Requires PHP 8.2+ and Symfony 7+. Supported branches and releases are tagged on GitHub; prefer the latest v* tag or main for development.

Status

MVP (v1.2.1): entities, repositories, BreadcrumbLoader, BreadcrumbUrlResolver, Twig (breadcrumb_trail, breadcrumb_render), optional web dashboard (collections/items CRUD + presentation styles, configurable URL prefix), presentation options (home icon, hide single-root trail on home). Demos: Symfony 7 (demo/symfony7/, port 8020) and Symfony 8.1 (demo/symfony8/, port 8021) with FrankenPHP. Flex recipe in .symfony/recipe/ (publish to Symfony recipe index when ready). 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 applications

Symfony 7 (default):

make -C demo/symfony7 up

Opens at http://localhost:8020 (see demo/symfony7/.env.examplePORT).

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.