Я использую стабильные версии KnpMenu и KnpMenuBundle - v.1.2.0. Я не могу использовать v.2 из-за некоторых зависимостей.
И я пытаюсь построить панировочные сухари, в зависимости от моего меню.
Начнем с меню. У меня есть класс MenuBuilder:
$menu = $this->factory->createItem('main');
$menu->setLabel('Main');
$menu->addChild('home', array('route' => 'home','label'=>'Home'));
$menu['home']->addChild('level1',array('route' => 'level1', 'label' => 'Level1'));
$menu['home']['level1']->addChild('level2',array('route' => 'level2', 'label' => 'Level2'));
Класс Knp\Menu\MenuItem имеет метод getBreadcrumbsArray(). Он должен возвращать массив элементов в текущем активном меню. Если вы используете более раннюю версию KnpMenu (‹= 1.1.2, моя версия), возвращаемый массив будет иметь вид label => uri.
Думаю, мои хлебные крошки, когда я загружаю маршрут level2, должны выглядеть примерно так:
Главная страница -> Уровень 1 -> Уровень 2
потому что уровень 1 является родителем уровня 2, а дом также является его предком.
Вместо этого вызов метода getBreadcrumbsArray() в моем шаблоне Twig выдает следующие данные:
array(2) {
["Main"]=>
NULL
["Home"]=>
string(25) "/symfony/web/app_dev.php/"
}
Ни Level1, ни Level2, только Home. Что не так? Это должно так работать? Что я делаю неправильно?
getCurrentUri
? - person Wouter J   schedule 27.06.2013