gpt4 book ai didi

symfony - 在symfony2中使用Twig向路径请求添加属性

转载 作者:行者123 更新时间:2023-12-04 13:41:45 25 4
gpt4 key购买 nike

我一直在搜寻这个问题,但找不到任何遇到相同问题的人...而且我不认为我是这里唯一的人>。<

让我们看看,我在symfony2中使用翻译。我需要为此使用 Twig ...
事实是,我需要3个链接,以便人们可以更改网站的语言。链接必须重定向到用户所在的页面,但要更改“_locale”。

我首先想到的是这样的:

// in routing.yml
bundleStuff_someUrl:
pattern: /{_locale}/aloha
defaults: { _controller: bundleStuff:Aloha:foo }

bundleStuff_fooUrl:
pattern: /{_locale}/foo/{fooParam}
defaults: { _controller: bundleStuff:Foo:foo }

// in view.html.twig
<a href="{{ path((app.request.get('_route'), { '_locale': 'l1' }) }}">lang1</a>
<a href="{{ path((app.request.get('_route'), { '_locale': 'l2' }) }}">lang2</a>
<a href="{{ path((app.request.get('_route'), { '_locale': 'l3' }) }}">lang3</a>

问题变成(在这种情况下)_route为fooUrl ...是否可以将当前 View 中的每个属性附加到我要查找的路径上?
换句话说,请引用此示例:有没有办法让小枝知道如果当前 View 为'fooUrl',则必须在路径中添加'fooParam'吗?

提前致谢!
希望这篇文章有用! :D

最佳答案

_route_params request属性保存当前路由的参数。因此, Twig 代码将是

{% set route = app.request.get('_route') %}
{% set route_params = app.request.get('_route_params') %}

<a href="{{ path(route, route_params | merge({ '_locale': 'l1' })) }}">lang1</a>
<a href="{{ path(route, route_params | merge({ '_locale': 'l2' })) }}">lang2</a>
<a href="{{ path(route, route_params | merge({ '_locale': 'l3' })) }}">lang3</a>

关于symfony - 在symfony2中使用Twig向路径请求添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com