2012-03-20 12 views
21

¿Hay alguna posibilidad de generar una ruta para una ruta y argumentos determinados, añadiendo la cadena de consulta automáticamente? Como solución temporal que estoy usando un auto hecho macro:Generar una cadena de consulta de ruta de acceso en 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 %} 

¿Hay alguna función nativa en Symfony2/ramita para hacer esto?

Respuesta

66

Una cosa buena con camino extensión Twig es que los parámetros unknow pasado a través de la matriz args se añaden automáticamente al final de la dirección URL como GET Paramaters:

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

producirán

/ruta/a/ruta/foo? unknownParam = barra

+0

Bien, respuesta aceptada, incluso si la necesito más dinámica (es decir unknownParam son más y no están corregidos). – gremo

+1

esto es solo una muestra, puedes poner una variable para '' unknownParam '' y '' bar ''! – AlterPHP

+2

Esta funcionalidad de 'parámetros desconocidos' es parte del enrutador central Symfony2, por lo que puede usar el mismo enfoque en sus controladores. De la [documentación oficial] (http://symfony.com/doc/current/book/routing.html#generating-urls-with-query-strings): $ router-> generate ('blog', array ('page '=> 2,' categoría '=>' Symfony ')); ///blog/2? category = Symfony – Barry

-4
{{ path('name_of the_page', {'id': asdfasd.pk_id}) }} 
Cuestiones relacionadas