这是我的路线
personeelslid_personeelslid_detail:
pattern: /personeelslid/detail/{personeelId}
defaults:
_controller: PersoneelPersoneelslidBundle:Personeelslid:detail
_menu_icon: fa-user
locatiebeheer_kind_detail:
pattern: /locatiebeheer/kind/detail/{kindId}
defaults: { _controller: PersoneelLocatiemanagerBundle:KindDetail:detail }
在我的menuBuilder中,我遍历所有路径并获取例如_menu_icon:
$routeObject = $this->_router->getRouteCollection()->get($route);
$menu_icon = $routeObject->getDefault('_menu_icon');
如何获取变量名personeelId,kindId等。 我需要te键,所以我可以设置routeParameter属性。
答案 0 :(得分:2)
如果需要,您可以将自定义键添加到defaults
选项。例如:
personeelslid_personeelslid_detail:
path: /personeelslid/detail/{personeelId}
defaults:
_controller: PersoneelPersoneelslidBundle:Personeelslid:detail
_menu_icon: fa-user
my_custom_key: personeelId
得到它:
$myCustomKey = $routeObject->getDefault('my_custom_key');
如果你想获取通配符的值,你就不能'这样做(通过getRouteCollection
),从Request对象中获取它(例如$request->attributes->all()
)..