Twig 使用 [] 获取 url 参数

Twig get url parameter with []

我有一个 url 喜欢:MYURL?filter[_per_page]=25&filter[name][value]=hello

如何使用 twig 获取这些参数?

我正在尝试 {{ app.request.get('filter[_per_page]') }} 但它总是空的...

谢谢!

编辑:我在 javascript 中,我想将此结果分配给 javascript 变量,例如:var param = "{{ app.request.get('filter[_per_page]') }}";

你快搞定了。

app 对象是 GlobalVariables 实例。当您说 app.request 时,正在调用 getRequest() 并且 returns 是标准 Request 对象的实例。

现在,如果您查看 Request::get() (link),则有:

get(string $key, mixed $default = null, bool $deep = false)

我想你需要做的是:

{{ app.request.get('filter[_per_page]', NULL, true) }}

其中NULL为默认值,true表示deep遍历Request对象

您必须将访问 filter 元素的数组管理为:

{{ app.request.get('filter')['_per_page'] }}

(这次发帖前试了一下...)

我找到了这样的解决方案:

app.request.attributes.get('request').query.get('param_name')

要访问查询参数数组,您可以使用:

app.request.attributes.get('_route_params');

您可以在documentation上看到不同的解决方案。