NaG*_*182 5 php symfony symfony-2.1 knpmenubundle
我创建了我的菜单构建器,它可以工作.我的一条路线是
/database
Run Code Online (Sandbox Code Playgroud)
但这有一条儿童路线:
database/view/{id}
Run Code Online (Sandbox Code Playgroud)
我不想将视图路径放入菜单项中,因为没有ID它将无法工作.
但是,当用户在视图上时,我希望数据库路由处于活动状态.
我怎样才能做到这一点?
管理这个小黑客解决它:
在您添加所有子项之后但在返回我添加的菜单之前,在menuBuider中
$request = $this->container->get('request');
$routeName = $request->get('_route');
switch ($routeName)
{
case 'battlemamono_database_view_by_name':
case 'battlemamono_database_view_by_id':
$database->setCurrent(true);
break;
}
Run Code Online (Sandbox Code Playgroud)
这将检查路由并将所需菜单设置为活动状态.
它没有记录,但正确的方法是现在(ex):
$menu->addChild('Category', [
'route' => 'category_show',
'routeParameters' => ['slug' => $category->getSlug()],
'extras' => [
'routes' => [
[
'route' => 'thread_show',
'parameters' => ['categorySlug' => $category->getSlug()]
],
],
],
]);
Run Code Online (Sandbox Code Playgroud)
如果不需要,可以跳过参数.
| 归档时间: |
|
| 查看次数: |
3580 次 |
| 最近记录: |