Язык по умолчанию не отображается как ссылка href в Symfony 3.4 - PullRequest
0 голосов
/ 17 октября 2019

Я запускаю Symfony 3.4 в своей локальной сети и добавил локаль по умолчанию и маршруты. Ниже:

в app/config.yml

framework:
   default_locale:  "en"

в Routes У меня есть

homepage:
   path:     /{_locale}
   defaults: { _controller: AcmeBundle:Home:index, _locale: en }

, а в ветке у меня есть:

{% set en_params = app.request.attributes.get('_route_params') | default([]) | merge(app.request.query) %}

{% set en_params = en_params | merge({'_locale': 'en'}) %}


<a href="{{ path('homepage', en_params ) }}" class="en"><span>English</span></a>

Ожидаемый результат должен быть http://localhost/en, когда я наведу курсор мыши на тег привязки или нажму

, но он переопределяет стандартную локаль и показывает http://localhost

Заранее благодарим за предоставлениемне правильный путь или поправьте меня, если я ошибаюсь.

1 Ответ

1 голос
/ 17 октября 2019

, если необязательный параметр (параметр {_locale}) находится в необязательной позиции (т. Е. В конце), а также является значением по умолчанию, его можно (и, очевидно, будет) опускать. То же самое верно для {_format} и даже для .{_format} (дополнительная точка)

Я думаю, что до тех пор, пока это работает, вам все равно?

Возможно, вы можете принудительно задать параметрявно определяя требование _locale как [a-z]{2} (или даже более явно de|en), но я не совсем уверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...