Создайте строку запроса добавления пути в Symfony2

Есть ли какое-либо средство для создания пути для данного маршрута и аргументов, автоматически добавляя строку запроса? В качестве временного обходного пути я использую макрос, созданный самостоятельно:

{% macro path(route, args, with_query) %}
{% spaceless %}
    {% set with_query = with_query|default(false) and app.request.queryString %}
    {{ path(route, args) ~ (with_query ? '?' ~ app.request.queryString : '' ) }}
{% endspaceless %}
{% endmacro %}

Есть ли какая-то нативная функция в Symfony2/Twig для этого?

Ответ 1

Хорошей вещью с расширением Twig пути является то, что неизвестные параметры, переданные через массив args, автоматически добавляются в конце URL как параметры GET:

{{ path('route_id', {'routeParam':'foo', 'unknownParam':'bar'}) }}

будет производить

/Путь/к/путь/Foo? UnknownParam = бар

Ответ 2

{{ path('name_of the_page', {'id': asdfasd.pk_id}) }}