将查询字符串附加到Twig渲染路径函数

时间:2017-04-18 20:31:12

标签: symfony twig

我有一个{{render(path('route'))}}函数,我需要附加一个参数查询字符串。我怎样才能做到这一点?

目前我有这个:

{{ render(path('page_load', { 'name': name, 'hook': hook ... need to append a dynamic query string ... })) }}

如果已定义,我需要附加此查询字符串:

{% if queryString is defined and queryString|trim != '' %}?{{ queryString }}{% endif %}

想出来:

{% set string = '' %}
{% if queryString is defined and queryString is not null %}
    {% set string = '?' ~ queryString %}
{% endif %}
    {{ render(path('page_load', { 'name': name, 'hook': hook}) ~ string) }}

1 个答案:

答案 0 :(得分:6)

使用Symfony时,您可以访问app.request全局,然后您可以执行以下操作:

{{ render(path('page_load', app.request.query.all|merge({ 'name': name, 'hook': hook }))) }}

请注意,理想情况下,您不应在视图中存储逻辑。