使用渲染在symfony2.3上创建菜单

使用渲染在symfony2.3上创建菜单,symfony,twig,Symfony,Twig,在我的管理模板上,我使用了render函数来添加菜单 控制器侧栏添加来自db的所有链接 当我想添加“current”类时会出现问题,因为我无法从呈现请求访问当前url/控制器 {{ render(controller('AdminDashboardBundle:Template:sidebar')) }} 如何从渲染控制器访问所有信息(无需传递var) 谢谢这项服务是用Symfony 2.4构建的。如果将模板控制器声明为服务并注入RequestStack,则可以在不传递参数的情况下使用当前的r

在我的管理模板上,我使用了render函数来添加菜单

控制器侧栏添加来自db的所有链接

当我想添加“current”类时会出现问题,因为我无法从呈现请求访问当前url/控制器

{{ render(controller('AdminDashboardBundle:Template:sidebar')) }}
如何从渲染控制器访问所有信息(无需传递var)

谢谢

这项服务是用Symfony 2.4构建的。如果将模板控制器声明为服务并注入RequestStack,则可以在不传递参数的情况下使用当前的
render
调用

但你说的是Symfony 2.3,不幸的是,我认为不需要争论就不可能做你想做的事情。下面是一些关于如何将当前路由/URL作为控制器参数传递的示例

1) 传递URL:

{{ 
   render(controller('AdminDashboardBundle:Template:sidebar', {
      'url': app.request.requesturi 
   })) 
}}
2) 通过路线:

{{ 
   render(controller('AdminDashboardBundle:Template:sidebar', {
      'route': app.request.attributes.get('_route'),
      'route_params': app.request.attributes.get('_route_params')
   }))
}}
我知道您希望在不通过VAR的情况下使用Symfony2.3和此调用,我认为这是不可能的,因为这是如何工作的