SonataTranslationBundle default_locale и локали для каждого объекта

Я вернулся к работе с пакетами администратора Sonata, и у меня возник вопрос, связанный с пакетом перевода Sonata (расширение доктрины Gedmo) с базовым переводом в одну таблицу. Согласно документации, нам нужно установить default_locale и список locales для проекта в нашем конфигурационном файле. Этот шаблон отлично работает для проектов с фиксированными локалями. Но в моем случае (который я тоже считаю очень распространенным) я хочу, чтобы он был немного динамичным в зависимости от сохраненной конфигурации.

Есть объекты сущностей, называемые Game который имеет реляционную сущность (oneToMany) под названием Language с помощью которого можно установить несколько языков для Game и установить один из них как default_locale, Теперь, в моей административной панели CRUD, я хочу, чтобы это было отражено согласно конфигурации, если она уже определена. В противном случае, чтобы иметь запасной язык.

Таким образом, все будет примерно так: 1. Установите запасную локаль из локали вошедшего в систему пользователя. 2. Языковые опции для Game CRUD должен поступать из локалей, определенных в Game -> Languages,

Насколько я пытался, я могу изменить список "локалей" из configuration() метод в классе администратора, но поскольку субъект не присутствует в этом методе ($this->getSubject() = null), фиксированная строка работает, но динамические значения из свойства объекта не могут быть установлены.

Версии моего проекта: PHP: 7.2 Symfony: 3.4 Sonata-Core-Bundle: 3.11.2 Sonata-Admin-Bundle: 3.40.1 Sonata-Translation-Bundle: 2.3.1 STOF-Doctrine-Bundle: 1.3.0 GEDMO-Extension-Bundle: 2.4.36

NB. Из-за отсутствия репутации я не смог добавить тег " sonata-translation-bundle ". Если кто-то из вас может, добавьте тег, чтобы его можно было легко сортировать.

0 ответов

Другие вопросы по тегам