cnerta / breadcrumb-bundle
The CnertaBreadcrumbBundle, for Symfony2, provide an easy way to create a breadcrumb with KnpMenuBundle
Installs: 170 744
Dependents: 0
Suggesters: 1
Security: 0
Stars: 18
Watchers: 1
Forks: 4
Type:symfony-bundle
Requires
- knplabs/knp-menu-bundle: ~2.0
- symfony/framework-bundle: >2.1
Requires (Dev)
- knplabs/knp-menu-bundle: ~2.0
- phpunit/phpunit: ~4.8
- symfony/symfony: 2.7.*
This package is not auto-updated.
Last update: 2020-01-24 15:01:49 UTC
README
CnertaBreadcrumbBundle
The CnertaBreadcrumbBundle provide an easy way to create a breadcrumb with KnpMenuBundle for Symfony2.
If you want to take a look, this Symfony2 app is my Sandbox, DemoMenu.
Install the Bundle
- Add the sources in your composer.json
"require": { // ... "cnerta/breadcrumb-bundle": "2.1.*" }
- Then add it to your AppKernel class::
// in AppKernel::registerBundles() $bundles = array( // ... new Cnerta\BreadcrumbBundle\CnertaBreadcrumbBundle(), // ... );
Default configuration
You don't have to configure anything. This part is only usefull if you want to setup a default breadcrumb template.
config.yml
cnerta_breadcrumb: twig: template: CnertaBreadcrumbBundle::cnerta_breadcrumb.html.twig
Rendering Breadcrumb
First create your menu with the KnpMenuBundle.
Next, in your twig template call :
{{ cnerta_breadcrumb_render('MyWonderfullBundle:Builder:Menu') }}
Or if you just want to get the breadcrumb array and make your stuff :
{% set currentItem = cnerta_breadcrumb_get('MyWonderfullBundle:Builder:Menu') %} {# some crazy stuff #} {% for item in currentItem %} {% if loop.index != 1 %} {% if loop.index > 1 %} > {% endif %} {% if not loop.last %}<a href="{{ item.uri }}">{{ item.label }}</a> {% else %}<span>{{ item.label }}</span>{% endif %} {% endif %} {% endfor %}
If you want to use your own template for rendering :
{{ cnerta_breadcrumb_render('MyWonderfullBundle:Builder:Menu', {'template': 'MyWonderfullBundle:Breadcrumb:myBreadcrumb.html.twig'}) }}
Unit test the Bundle
Before running phpunit you must load dependencies. This will only load the required vendors needed for run test.
composer install --dev
After that you can run phpunit.
./vendor/bin/phpunit -c phpunit.xml.dist
Changelog
Version 2.1.0 (2015/10/19)
- #4 Remove an unnecessary function who remove a node labeled "root"