這是我的解決方案,Symfony的2.2工作,2.5
<a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'})) }}">English</a>
<a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'fr'})) }}">Français</a>
<a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'es'})) }}">Español</a>
這是我的解決方案,Symfony的2.0工作,2.1
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({'_locale': 'en'})) }}">English</a>
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({'_locale': 'fr'})) }}">Français</a>
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({'_locale': 'es'})) }}">Español</a>
感謝,但它不工作,我無法找到任何東西關於官方文檔中的'app.request.query.all' – seferov
app.request返回一個Request對象(http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/Request.html),它有一個查詢字段'ParameterBag)和一個all()方法。我在'_locale'周圍添加了引號,不確定這是否會改變任何內容。 –
'app.request.query.all'返回空數組。我不知道爲什麼。 – seferov