Выпадающее меню на Symfony + Bootstrap + Knp menu

Рассказываю как на Symfony проект где используется knp-menu-bundle добавить выпадающее меню. Документация у KnpMenu довольно обширная, но как сделать dropdown меню я так и не нашёл.


Как уже сказал, в качестве меню использую knplabs/knp-menu-bundle.
В частности добавляю меню src/AppBundle/Menu/Builder.php:
createItem('root');
$menu->setChildrenAttribute('class', 'nav navbar-nav');
$menu->addChild('Выбор конфигурации', array('route' => 'gallery_typo'));
$menu->addChild('Лестницы', array('route' => 'homepage'))
->setAttribute('class','dropdown')
->setLinkAttribute('data-toggle','dropdown')
->setLinkAttribute('class','dropdown-toggle')
->setChildrenAttribute('class', 'dropdown-menu')
->setChildrenAttribute('role', 'menu');

return $menu;
}

}
где непосредственно выпадающее меню это:
$menu->addChild('Лестницы', array('route' => 'homepage'))
->setAttribute('class','dropdown')
->setLinkAttribute('data-toggle','dropdown')
->setLinkAttribute('class','dropdown-toggle')
->setChildrenAttribute('class', 'dropdown-menu')
->setChildrenAttribute('role', 'menu');

В базовый шаблон twig, ориентировочно находящийся в src/AppBundle/Resources/views/, добавляем подключение bootstrap вместе с javascript-частью.
В тэге head пусть будет:

В конце шаблона:



В соответствующих директориях src/AppBundle/Resources/public/css/ и src/AppBundle/Resources/public/js/ пусть лежат файлы bootstrap.
Можно ещё прочитать тут: http://getbootstrap.com/javascript/#dropdowns