Symfony 4.1 i18n префикс маршрута: исключить маршрут - PullRequest
0 голосов
/ 29 мая 2018

У меня есть проект i18n, работающий на Symfony 4.1.

Я хочу добиться такой маршрутизации, как:

  • / => a «Выбор языка»маршрут страницы
  • / fr / или / en / => маршрут домашней страницы
  • / fr / foo /, / en / bar и т. д. => другие маршруты

После этой статьи я использую аннотации для обработки маршрутизации и задаю глобальный префикс для моей маршрутизации аннотаций:

site:
    resource: '../src/Controller/'
    type: annotation
    prefix:
        en: '/en'
        fr: '/fr'

Таким образом, все маршруты, определенные в аннотациях изПрефикс «../src/Controller/» приводит к конфликту между моей страницей «Выбор языка» и домашней страницей.

Я хочу исключить страницу «Выбор языка» из i18nс префиксом, так что я смогу использовать «/» для этой страницы, когда домашняя страница может остаться на / fr или /en.

Есть идеи для достижения этой цели?

1 Ответ

0 голосов
/ 29 мая 2018

Определение этого маршрута в верхней части annotations.yaml без опции префикса:

_choose_language:
    path: /
    controller: App\Controller\ChooseLanguageController

site:
    resource: '../src/Controller/'
    type: annotation
    prefix:
        en: '/en'
        fr: '/fr'

и без использования аннотации маршрута для этого специального контроллера:

class ChooseLanguageController
{
    public function __invoke()
    {
        return new Response('Choose Language!');
    }
}

это действие может бытьисключено из префикса i18n.

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