访问树枝模板中的路径参数

时间:2013-01-07 13:34:19

标签: symfony routes

如何在不知道参数名称的情况下访问树枝模板中的路径参数?

3 个答案:

答案 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