假设我有一个可折叠菜单,其中可折叠部分中的一个条目映射到路线:
test/index
如果我将站点位置更改为可以说:
test/create
//等test/update
_test/detail
假设我有一个可折叠菜单,其中可折叠部分中的一个条目映射到路线:
test/index
如果我将站点位置更改为可以说:
test/create
//等test/update
_test/detail
在您的 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;
}
如果 'route_create' 或 'route_update' 是当前路由,这会将 MenuItem 'Index' 设置为当前路由。
另一种方法可能是像往常一样匹配所有路由,然后调用setDisplay(false)
它们隐藏它们。我没有尝试过,但我认为这也应该有效。