Если вы хотите добавить опцию по умолчанию в поле EntityType, вы можете добавить опцию-заполнитель, подобную этой
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('nameDe')
->add('nameEn')
->add('descriptionDe')
->add('descriptionEn')
->add('rank', EntityType::class, [
'class' => ProductType::class,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('p')
->orderBy('p.rank', 'ASC');
},
'choice_label' => 'nameDe',
'placeholder' => 'At the beginning',
])
->add('active')
->add('creatDate')
->add('updateDate', DateTimeType::class, array('data' => new \DateTime()));
}
Как я вижу, вы обрабатываете несколько языков в форме, если вы хотитеинтернационализируйте свой заполнитель, просто поместите ключ перевода непосредственно в значение (вам необходимо установить пакет перевода Symfony: https://symfony.com/doc/current/translation.html)
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('nameDe')
->add('nameEn')
->add('descriptionDe')
->add('descriptionEn')
->add('rank', EntityType::class, [
'class' => ProductType::class,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('p')
->orderBy('p.rank', 'ASC');
},
'choice_label' => 'nameDe',
'placeholder' => 'foo.bar.placeholder',
])
->add('active')
->add('creatDate')
->add('updateDate', DateTimeType::class, array('data' => new \DateTime()));
}
Если файлы перевода не существуют, создайте их вtranslations/
папка
# translations/messages.en.yaml
foo:
bar:
placeholder: At the beginning
# translations/messages.de.yaml
foo:
bar:
placeholder: Am Anfang