diff --git a/src/bundle/Resources/translations/ibexa_content_forms_fieldtype.en.xliff b/src/bundle/Resources/translations/ibexa_content_forms_fieldtype.en.xliff index 4184806a..e160f913 100644 --- a/src/bundle/Resources/translations/ibexa_content_forms_fieldtype.en.xliff +++ b/src/bundle/Resources/translations/ibexa_content_forms_fieldtype.en.xliff @@ -131,6 +131,11 @@ Content location key: content_forms.relation.location_type.self + + None + None + key: content.field_type.ezselection.none + diff --git a/src/lib/FieldType/Mapper/SelectionFormMapper.php b/src/lib/FieldType/Mapper/SelectionFormMapper.php index f6f3e2ed..ae55e225 100644 --- a/src/lib/FieldType/Mapper/SelectionFormMapper.php +++ b/src/lib/FieldType/Mapper/SelectionFormMapper.php @@ -11,10 +11,19 @@ use Ibexa\ContentForms\Form\Type\FieldType\SelectionFieldType; use Ibexa\Contracts\ContentForms\Data\Content\FieldData; use Ibexa\Contracts\ContentForms\FieldType\FieldValueFormMapperInterface; +use JMS\TranslationBundle\Annotation\Desc; use Symfony\Component\Form\FormInterface; +use Symfony\Contracts\Translation\TranslatorInterface; class SelectionFormMapper implements FieldValueFormMapperInterface { + private TranslatorInterface $translator; + + public function __construct(TranslatorInterface $translator) + { + $this->translator = $translator; + } + public function mapFieldValueForm(FormInterface $fieldForm, FieldData $data) { $fieldDefinition = $data->fieldDefinition; @@ -29,6 +38,13 @@ public function mapFieldValueForm(FormInterface $fieldForm, FieldData $data) $choices = $fieldDefinition->fieldSettings['multilingualOptions'][$fieldDefinition->mainLanguageCode]; } + $placeholder = $this->translator->trans( + /** @Desc("None") */ + 'content.field_type.ezselection.none', + [], + 'ibexa_content_forms_fieldtype', + ); + $fieldForm ->add( $formConfig->getFormFactory()->createBuilder() @@ -40,6 +56,7 @@ public function mapFieldValueForm(FormInterface $fieldForm, FieldData $data) 'label' => $fieldDefinition->getName(), 'multiple' => $fieldDefinition->fieldSettings['isMultiple'], 'choices' => array_flip($choices), + 'placeholder' => $placeholder, ] ) ->setAutoInitialize(false)