有没有一种方法可以替换twig中的GET参数值?
例如,我在这个地址有一个页面:
http://localhost/app_dev.php/test/?param1=40&sort=name
在我的wig中,我想建立3个这样的链接:
http://localhost/app_dev.php/test/?param1=40&sort=name
http://localhost/app_dev.php/test/?param1=40&sort=address
http://localhost/app_dev.php/test/?param1=40&sort=code
现在我在URL的末尾再次添加了“&sort”参数,但这个解决方案实际上是一个“补丁”,它很糟糕!
<a href="{{app.request.requesturi}}&sort=address">address</a>
在这个例子中,我只有2个参数,但实际上我有大约6个参数,因为生成的链接是通过提交一个。
3条答案
按热度按时间olmpazwi1#
这可以解决你的问题:
它获取当前路由和所有查询参数,这些参数在追加之前与您想要更新的参数合并。
xqkwcwgp2#
Symfony/Twig
path
函数接受可选参数。如果这些参数是路由的一部分,则由路由器处理,但如果不是,则将其作为GET参数传递。因此,如果对应的路由是
my_route
:qojgxg4l3#
如果你的路由有参数(如
/blog/post/{slug}
),你想自动检索它们,你的path()
应该像这样,扩展@insertusernamehere答案:要保留所有查询参数并替换所需的参数,请连接
merge
s:此代码已经过测试与Symfony 5.4/6.2上的小枝3.