Dom*_*s55 1 php jquery symfony
因此,在顶部导航栏中,用户可以选择一种语言。有用。这是代码:routing.yml
homepage:
path: /{_locale}
defaults: { _controller: MpShopBundle:Homepage:index, "_locale": "es"}
requirements:
_locale: es|en
Run Code Online (Sandbox Code Playgroud)
枝条:
<li><a href="{{ path('homepage', {'_locale':'en'}) }}">EN</a></li>
<li><a href="{{ path('homepage', {'_locale':'es'}) }}">ES</a></li>
Run Code Online (Sandbox Code Playgroud)
现在的问题。假设用户将一些产品添加到购物车并访问了购物车页面www.domain.com/cart/shopping-cart。如果他按下其中一个链接,他将被重定向到主索引页面,并且他的语言会发生变化。
如何更改我的代码,以便当用户选择一种语言时,他不会被重定向到新页面,而是使用新的语言环境刷新同一页面。
例如:
当前页面 : www.domain.com/cart/shopping-cart
语言选择后: www.domain.com/cart/shopping-cart/en
并不是: www.domain.com/en
我的所有页面都扩展了导航栏。所以我需要以某种方式获取当前 url 并将 /en 添加到其中。
我得到这样的网址:
{% set currentPath = path(app.request.attributes.get('_route'),
app.request.attributes.get('_route_params')) %}
Run Code Online (Sandbox Code Playgroud)
但是如何在树枝中添加 /en 部分?
我认为这个代码块回答了你的问题:
<a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'})) }}">English</a>
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |