2015-12-03 2 views
0

Допустит, у меня есть складного меню, где одна записи в разборной части отображается на маршрут:
Symfony KnpMenuBundle соответствующего маршрута для аналогичных трасс

test/index

Как я могу добиться того, складное меню остается открытым, и вход внутрь отмечен как активный, если изменить расположение сайта в позволяет сказать:

test/create/test/update/test/detail и т.д.

-

ответ

0

В вашем MenuBuilder вы можете сопоставить эти маршруты с помощью переключателя и вызвать setCurrent() на предмет, который вы хотите использовать. Например:

// The MenuBuilder must have access to the container 
$request = $this->container->get('request'); 
switch ($request->get('_route')) 
{ 
    case 'route_create': 
    case 'route_update': 
     $menu->getChild('Index')->setCurrent(true); 
     break; 
} 

Это позволит установить «индекс» в MENUITEM ток, если «route_create» или «route_update» является текущим маршрутом.

Другое приложение может соответствовать всем маршрутам, как вы обычно делали, а затем называть их setDisplay(false), чтобы скрыть их. Я не пробовал это, но я думаю, что это тоже должно работать.