Как перезаписать ярлыки форм пользовательских пакетов FOS
У меня есть жесткое переписывание меток, которые использует пакет FOS для Symfony2.
Я уже переписываю класс Form, но нет никаких элементов для таких элементов, как setOption, только getters.
Я мог бы просто удалить элемент и добавить его снова с соответствующей меткой, но это похоже на перебор. Есть ли хороший способ перезаписи вариантов элементов формы или просто ключей перевода, возможно?
Ответы
Ответ 1
Вам не нужно перезаписывать классы форм.
Скопируйте/вставьте vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/translations/FOSUserBundle.xx.yml
файлы в каталог app/Resources/translations
(с той же структурой каталогов и с тем же именем файла) и переопределите переводы для удобства.
edit: Как сказал @mario-johnathan, переопределяющие переводы не являются частью наследования пучков. См. http://symfony.com/doc/current/cookbook/bundles/override.html#translations для официальной документации
Ответ 2
Как уже говорилось, вы можете поместить свои файлы переводов в:
app/Resources/translations
Но если вы переопределите его в своем родительском пакете (src/MyAppBundle/Resources/translations
) или в любом другом пакете, убедитесь, что загрузите свой пакет после переопределенного пакета в вашем ядре:
public function registerBundles()
{
$bundles = [
...
new FOS\UserBundle\FOSUserBundle(),
new MyAppBundle\MyAppBundle(),
...
];
...
}