2012-03-20 60 views
21

路徑追加查詢字符串是否有任何工具來生成一個給定的路徑和參數的路徑,自動追加查詢字符串?作爲一個臨時的解決辦法我使用的是自制的宏:產生的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中/枝條一些本地的功能這樣做呢?

回答

66

路徑枝條延長甲好處是,通過args數組傳遞不明參數在URL的結尾自動附加作爲GET PARAMATERS:

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

會產生

/path/to/route/foo?unknownParam = bar

+0

那麼,接受答案,即使我需要更動態(即unknownParam更多,而且不固定)。 – gremo 2012-03-21 10:33:38

+1

這只是一個示例,您可以爲「unknownParam」和「bar」添加一個變量! – AlterPHP 2012-03-21 10:40:04

+2

這個'未知參數'功能是Symfony2核心路由器的一部分 - 因此您可以在您的控制器中使用相同的方法。從[官方文檔](http://symfony.com/doc/current/book/routing.html#generating-urls-with-query-strings):$ router-> generate('blog',array('page '=> 2,'category'=>'Symfony')); ///blog/2?category = Symfony – Barry 2012-10-15 10:00:19

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