我在一个多语言的Symfony2项目中使用twig进行模板化.layout.html.twig中有一个语言切换器
我希望用户可以通过单击语言链接来切换语言而无需更改当前页面.我编写了以下代码,它只对静态页面负责.由于语言链接只是传递locale给路由,如果涉及其他必需参数,它显然会抛出异常:route has some missing mandatory parameters
<ul id="lang">
<li><a href="{{ path(app.request.attributes.get('_route'), {_locale: 'az'}) }}">AZ</a></li>
<li><a href="{{ path(app.request.attributes.get('_route'), {_locale: 'en'}) }}">EN</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
Wai*_*... 35
你可以用路由参数.get('_route_params')和合并你想要的locale他们:
<ul class="lang-menu">
<li><a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'ca'})) }}">Català</a></li>
<li><a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'}))}}">English</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8098 次 |
| 最近记录: |