nowo-tech/breadcrumb-kit-bundle
A Symfony bundle that adds a flexible breadcrumb kit to your app. Build, configure and render breadcrumb trails with reusable builders, Twig helpers and route-aware generation so navigation stays consistent across pages. Easy to install and extend with your own custom trails.
This is a Symfony bundle, not a Laravel package. There is no extra.laravel block, no package auto-discovery, no Blade views, and no Artisan publishable config. The first decision is where it runs:
composer require nowo-tech/breadcrumb-kit-bundle, then register it in config/bundles.php (use the PSR-4 namespace from the package's composer.json — likely Nowo\BreadcrumbKitBundle\BreadcrumbKitBundle), and confirm the real config surface with:
php bin/console config:dump-reference <bundle_alias>
That dump is the single best "look here first" reference for this package, since the repo is young and documentation may lag.php artisan vendor:publish. Run composer require, then open vendor/nowo-tech/breadcrumb-kit-bundle/src and look for the trail resolver service and its config array. The route-matching and label resolution logic is usually a small, framework-agnostic service you can bind into Laravel's container; the Twig functions, DI extension, and compiler passes will not load.First use case (either framework): a trail under the page header — Home > Section > Current page. Define 2–3 route patterns in config, pick the trail for the current request, and render it as a single collection call. Verify the resolved trail array before wiring any template, e.g. dump the resolver output for a known route.
page.section.title) in config and resolve them in the template/collection renderer. Never call trans() from inside a config closure — container compilation may run without a request locale.url: null explicitly and make your template branch on it rather than emitting href="".BreadcrumbList JSON-LD. Resist building the trail in the template — you lose i18n and the null-link handling.BreadcrumbBuilder interface with the bundle behind it. Your templates depend on Breadcrumb[] (label, url, active), so you can swap the bundle later without touching views.config('breadcrumbs.trails'), register a Breadcrumb facade, and render through a Blade component that reproduces the bundle's emitted markup (class names, aria-current="page", <ol>/<ul> list). Cache resolved trails per route+params when trails are static — they're pure functions of route and locale.admin. prefix, admin.users.), so section crumbs inherit rather than repeat.bin/console cache:clear). In Laravel, config:cache bakes whatever you read at boot — make sure nothing locale- or request-dependent is captured there.composer.json, vendor the template, check CHANGELOG.md/UPGRADING.md for a BC policy, and keep the wrapper interface so replacement is a config change.How can I help you explore Laravel packages today?