在我的管理员模板上我使用了渲染功能来添加菜单。
控制器侧栏添加来自db。
的所有链接当我想添加"当前"时会出现问题。 class因为我无法从渲染请求中访问当前的url / controller。
{{ render(controller('AdminDashboardBundle:Template:sidebar')) }}
如何从渲染控制器访问所有信息(不传递var)?
由于
答案 0 :(得分:1)
RequestStack服务已使用Symfony 2.4构建。如果将模板控制器声明为服务并注入RequestStack,则可以在不传递参数的情况下使用当前的render
调用。
但是你在谈论Symfony 2.3,不幸的是我认为没有论据可以做你想要的事情。下面是一些关于如何将当前路由/ URL作为控制器参数传递的示例。
1)传递网址:
{{
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')
}))
}}
我知道你想使用Symfony2.3这个电话而不通过vars,我认为由于工作方式scopes而根本不可能。