Удалите префикс локали по умолчанию в компонентах маршрутизации Symfony - PullRequest
1 голос
/ 12 июня 2019

Я работаю Только с компонентами маршрутизации Symfony в личном проекте (без полной разработки Symfony).мой метод: добавить маршрут в routes.yaml файле, например:

index:
    path:     /test
    methods: GET
    controller: 'App\Catalog\Controller\Home\IndexController::index'

register:
    path:     /test/account/register
    methods: GET
    controller: 'App\Catalog\Controller\Account\RegisterController::index'

моя маршрутизация работает нормально, но мне нужно добавить автоматический префикс локали в URI / маршрутизации для многоязычной системы, как это:

mydomain/test    //for default language ie: en
mydomain/test/fr
mydomain/test/de
mydomain/test/account/register      //for default language ie:en
mydomain/test/fr/account/register
mydomain/test/de/account/register

Как добавить префикс локали в файл routes.yaml и удалить язык префикса локали по умолчанию?!

1 Ответ

1 голос
/ 12 июня 2019

Если ваше приложение обновлено, вы можете использовать Интернационализированную маршрутизацию , представленную в 4.1, как это

# config/routes/annotations.yaml
controllers:
    resource: '../../src/Controller/'
    type: annotation
    prefix:
        en: '' # don't prefix URLs for English, the default locale
        fr: '/fr'
        de: '/de'

В противном случае вы можете сослаться на другой файл routing.yml с префиксом, например,

# config/routing.yml

french_route:
    resource: "french_routing.yml"
    prefix:   /fr

deutch_route:
    resource: "deutch_routing.yml"
    prefix:   /de

Вы можете разделять языки с помощью файлов, и каждый из них будет автоматически иметь свой префикс

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