如何在不知道参数名称的情况下访问树枝模板中的路径参数?
答案 0 :(得分:15)
可以在Twig中以下列方式访问路径参数:
{{ app.request.attributes }}
您还可以使用dump()
功能查看可用的方法:
<pre>
{{ dump(app.request.attributes) }}
</pre>
这是所有参数的转储:
申请网址
http://example.com/test/3
Route = test
Slug = {param1} = 3
Twig Code
{{ dump(app.request.attributes) }}
<强>返回强>
object(Symfony\Component\HttpFoundation\ParameterBag)[10]
protected 'parameters' =>
array (size=3)
'_controller' => string 'MyTest\Bundle\Controller\TestController::indexAction' (length=61)
'param1' => string '3' (length=1)
'_route' => string 'test' (length=7)
答案 1 :(得分:11)
您可以通过以下方式获取所有路线参数:
{{ app.request.attributes.get('_route_params') }}
如果您只想要一个参数:
{{ app.request.attributes.get('_route_params')['YOUR_PARAMETER_KEY'] }}
答案 2 :(得分:0)
如果要使用当前路由及其参数作为网址:
{{path(app.request.get('_ route'),app.request.get('_ route_params'))}}
当您要从网址中删除任何串联的字符串时,这将很有帮助。
app.request.get('_route') gives you the route name from request bag.
app.request.get('_route_params') gives you the route parameters
{{ path(route_name, array of parameters) }} create the path