Требования к переведенным маршрутам Symfony 3.4 (JMSi18nRoutingBundle)

Я использую пакет JMSi18nRouting. И мне интересно, возможно ли создать 1 конфигурацию маршрута, позволяющую это:

/de/neu --> ok
/en/new --> ok
/en/neu --> nok (404)

Аннотация маршрута выглядит так:

* @Route("/{slug}", name="category_new", requirements={"slug" : "new|neu"})

Итак, я думаю, что мне нужно требование для {slug} в зависимости от локали, что-то вроде этого:

requirements={"slug" : "{ "de" : "neu", "en" : "new" }"}

Кто-нибудь, если это возможно с моей установкой?

С уважением


person fredtro    schedule 22.02.2019    source источник


Ответы (1)


Я не знаю, можно ли это настроить в этой версии Symfony, но согласно https://symfony.com/blog/new-in-symfony-4-1-internationalized-routing, это можно сделать в более поздней версии. Ваша конфигурация маршрута будет выглядеть так:

/**
 * @Route({
 *     "de": "/neu",
 *     "en": "/new"
 * }, name="category_new")
 */
person Nico Haase    schedule 22.02.2019
comment
Привет, Нико, спасибо. Нет, это не так, вот почему в symfony 4.1 говорят, что это новое ;) И я ищу требования, основанные на локалях... - person fredtro; 22.02.2019
comment
... но поскольку вы уже используете версию 3.4, которая должна сообщать обо всех устаревших функциях между версиями 3.4 и 4.0, вы можете попробовать обновить ядро ​​Symfony и посмотреть, поможет ли эта новая функция. В любом случае, запуск такого обновления время от времени должен выполняться ;) - person Nico Haase; 22.02.2019