Конфигурация Symfony2 Bundle на основе записей базы данных

0

Я использую JMSI18nRoutingBundle. Мне нужно создать функцию, которая позволит администратору создавать новые языки из CMS. Проблема в том, как я могу получить доступные языки из базы данных (хранится в таблице "locale") и использовать их в конфигурации JMS-пакета. Например: у меня три базы в DB (EN, FR, PL), и я должен получить результат, подобный этому (но извлеченный из БД):

jms_i18n_routing:
    default_locale: en
    locales: [en, fr, pl] <--
    strategy: prefix

Как я могу это достичь?

  • 0
    Для добавления динамической конфигурации в BundleExtension есть метод prepend. Однако я не уверен, что вы сможете $ container-> get ('doctrine.orm.default_entity_manager'); symfony.com/doc/current/cookbook/bundles/prepend_extension.html
  • 0
    К сожалению, нет возможности внедрить какой-либо сервис в конфигурационный файл. Это проблема.
Теги:
dependency-injection
configuration

1 ответ

0
Лучший ответ

ОК. Похоже, что Symfony не предоставляет никакого инструмента для создания конфигурации пакета на основе записей в базе данных. Мы создали небольшой "work-around" - мы создали файл.yml, который содержит только один параметр (который мы используем для настройки доступных языков), и когда записи в таблице Locale изменены, мы просто переписываем этот файл с новым значением параметра, Просто.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню