Add breadcrumbs to your app pages.
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require osw3/symfony-breadcrumb
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php
return [
// ...
OSW3\Breadcrumb\BreadcrumbBundle::class => ['all' => true],
];
Add the breadcrumb to the Twig component settings config/packages/twig_component.yaml
twig_component:
defaults:
#...
OSW3\Breadcrumb\Components\: '@Breadcrumb/'
Edit each controller that needs breadcrumb and add the "Breadcrumb" attribute.
class ProductController extends AbstractController
{
#[Route('/products', name: 'app_product')]
#[Breadcrumb([['label' => "Products", 'route' => "app_product"]])]
public function index(): Response
{
// ...
}
}
or add multiple items
class BookController extends AbstractController
{
#[Route('/books', name: 'app_books')]
#[Breadcrumb([
['label' => "Products", 'route' => "app_product"]
['label' => "Books", 'route' => "app_books"]
])]
public function index(): Response
{
// ...
}
}
In your twig files use :
<twig:Breadcrumb />
Or wtih custom ID and/or custom class
<twig:Breadcrumb id="my-custom-id" class="my-custom-class" />
The breadcrumb configuration is located at config/package/breadcrumb.yaml
.
breadcrumb:
home:
label: Home
route: app_homepage
icon: 'fa fa-home'
domain: null
template: default
separator: null
items:
class: null
absolute: false
hide_empty: true