View as Markdown
Breadcrumb
Indicates the current page's location within a navigational hierarchy.
100%
Loading...
<twig:Breadcrumb>
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item"><a href="#">Library</a></li>
<li class="breadcrumb-item active" aria-current="page">Data</li>
</twig:Breadcrumb>
Installation
php bin/console ux:install breadcrumb --kit bootstrap
Install the following front-end dependencies:
npm install bootstrap@^5.3.0
# ...or with Symfony AssetMapper
php bin/console importmap:require bootstrap bootstrap/dist/css/bootstrap.min.css
Copy the following file(s) into your app:
{# @prop divider string|null The custom text used as the divider between breadcrumb items. #}
{# @prop label string|null The accessible name for the breadcrumb navigation. #}
{# @block content The ordered list of breadcrumb items. #}
{%- props
divider = null,
label = 'breadcrumb'
-%}
{%- set default_attrs = {} -%}
{%- if label is not null -%}
{%- set default_attrs = default_attrs|merge({'aria-label': label}) -%}
{%- endif -%}
{%- if divider is not null -%}
{%- set default_attrs = default_attrs|merge({style: "--bs-breadcrumb-divider: '" ~ divider ~ "';"}) -%}
{%- endif -%}
<nav {{ attributes.defaults(default_attrs) }}>
<ol class="breadcrumb">
{%- block content -%}{%- endblock -%}
</ol>
</nav>
Usage
<twig:Breadcrumb>
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</twig:Breadcrumb>
Accessibility
Give the navigation a meaningful accessible name. Apply aria-current="page" to the final breadcrumb item so assistive technologies can identify the current page.
Examples
Build breadcrumb trails with linked items followed by an active item for the current page.
100%
Loading...
<div class="d-flex flex-column gap-2">
<twig:Breadcrumb>
<li class="breadcrumb-item active" aria-current="page">Home</li>
</twig:Breadcrumb>
<twig:Breadcrumb>
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</twig:Breadcrumb>
<twig:Breadcrumb>
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item"><a href="#">Library</a></li>
<li class="breadcrumb-item active" aria-current="page">Data</li>
</twig:Breadcrumb>
</div>
Dividers
Customize the divider with text, an escaped SVG data URL, or an empty CSS custom property.
100%
Loading...
<div class="d-flex flex-column gap-2">
<twig:Breadcrumb divider=">">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</twig:Breadcrumb>
<twig:Breadcrumb style="--bs-breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='%236c757d'/%3E%3C/svg%3E");">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</twig:Breadcrumb>
<twig:Breadcrumb style="--bs-breadcrumb-divider: ''">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</twig:Breadcrumb>
</div>
API Reference
<twig:Breadcrumb>
| Prop | Type | Default |
|---|---|---|
divider The custom text used as the divider between breadcrumb items.
|
string|null |
null |
label The accessible name for the breadcrumb navigation.
|
string|null |
'breadcrumb' |
| Block | Description |
|---|---|
content |
The ordered list of breadcrumb items. |