osw3 / symfony-breadcrumb
Add breadcrumbs to your app pages.
Installs: 25
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- symfony/options-resolver: 6.4.*
- symfony/twig-bundle: 6.4.*
- symfony/ux-twig-component: ^2.18
README
Add breadcrumbs to your app pages.
How to install
Step 1: Download the Bundle
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
Step 2: Enable the Bundle
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], ];
Step 3: Expose the Bundle to Twig
Add the breadcrumb to the Twig component settings config/packages/twig_component.yaml
twig_component: defaults: #... OSW3\Breadcrumb\Components\: '@Breadcrumb/'
How to use
Step 1: Edit controllers
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 { // ... } }
Step 2: The twig component
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" />
How to configure
The breadcrumb configuration is located at config/package/breadcrumb.yaml
.
Configuration sample
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