мой вопрос связан со следующим, это «правильный» способ или есть лучшее решение?KnpMenuBundle, держите Главное меню активным даже для вспомогательных действий
Symfony2 KnpMenuBundle: set active a menu item even when its not on that menu
Вот мой текущий код:
public function mainMenu(FactoryInterface $factory, array $options)
{
$menu = $factory->createItem('root');
$menu->setChildrenAttributes(array('class' => 'nav navbar-nav'));
$menu->addChild('Home',
array('route' => 'home'
));
$menu->addChild('Producers',
array(
'route' => 'producers_show'
));
$menu->addChild('Ships',
array(
'route' => 'ships_show'
));
/* not working */
$request = $this->container->get('request');
$routeName = $request->get('_route');
switch ($routeName)
{
case 'producer_create':
case 'ship_create':
$menu->setCurrent(true);
break;
}
return $menu;
}
Визуализированное HTML выглядит следующим образом для маршрута "судно/создать"
<ul class="nav navbar-nav">
<li class="first">
<a href="/app_dev.php/">Home</a>
</li>
<li>
<a href="/app_dev.php/producers">Producers</a>
</li>
<li class="last">
<a href="/app_dev.php/ships">Ships</a>
</li>
</ul>
Как вы можете видеть, нет ничего set 'active' Нужно ли добавлять вспомогательные действия, такие как создать обновление для удаления в меню, и скрыть их? Как решить эту проблему, пожалуйста?
возможно дубликат [Symfony2 KnpMenuBundle: установить активный пункт меню, даже если его не в этом меню] (http://stackoverflow.com/questions/14674820/symfony2-knpmenubundle-set-active-a-menu -item-even-when-its-not-on-the-menu) –
Как упоминалось выше, я ссылаюсь на этот вопрос. Разве вы не читали мой пост? – DasLicht