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

Lar*_*una 1 symfony twig

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

目前我有这个:

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

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

{% if queryString is defined and queryString|trim != '' %}?{{ queryString }}{% endif %}
Run Code Online (Sandbox Code Playgroud)

弄清楚了:

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

lso*_*uza 6

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

{{ render(path('page_load', app.request.query.all|merge({ 'name': name, 'hook': hook }))) }}
Run Code Online (Sandbox Code Playgroud)

请记住,理想情况下,您不应在视图中存储逻辑.