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.
- 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(),
// ...
);
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
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'}) }}
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
- #4 Remove an unnecessary function who remove a node labeled "root"