#html #symfony4
#HTML #symfony4
Вопрос:
В моей форме Symfony 4 я пытаюсь получить заполнитель для моего ввода. Я попробовал ниже, но я получаю сообщение об ошибке, что это недопустимо. Есть идеи, как еще я могу этого добиться?
->add('firstname', TextType::class, ['label' => 'Vorname ', 'placeholder' => 'Your name',])
Как указано в документации, я также попробовал ниже, здесь я не получаю сообщение об ошибке, просто ничего не отображается.
->add('firstname', TextType::class, ['label' => 'Vorname '], ['attr' => ['placeholder' => 'Vorname ']])
Комментарии:
1.
empty_data
?2. @BenM не сработал, но спасибо за предложение!
3. Что-то не так с моим ответом?
Ответ №1:
Вам нужно сделать так :
->add('firstname', TextType::class, array(
'label' => 'Vorname ',
'attr' => array(
'placeholder' => 'hereYourPlaceHolder'
)
))
Как говорится в документации
Комментарии:
1. Несмотря на другой синтаксис, я попробовал то, что они предложили, но все равно ничего! Это то, что я пробовал: ->добавить(‘firstname’, TextType::class, [‘label’ => ‘Vorname’], [‘attr’ => [‘placeholder’ => ‘Vorname’]])
2. В TextType нет опции «заполнитель»… Посмотрите на мой ответ.
3. Или вы можете использовать подобное прямо в ветке: {{form_widget (form.firstname.first, {‘attr’: {‘placeholder’: ‘Vorname’}}) }}
4. Как ни странно, это не работает для меня в Symfony 4.4. Мне пришлось прибегнуть к ответу @kontenurban ниже и пройти через заполнитель в шаблоне Twig. Ни за что на свете я не понимаю, почему я должен это делать, потому что ответ здесь имеет смысл для меня и согласуется с документацией. Странный.
Ответ №2:
Это также работает, отображая элементы по отдельности и добавляя атрибут в twig!
{{ form_label(form.firstname) }}
{{ form_widget(form.firstname, {'attr': {'placeholder': 'FIRSTNAME'}}) }}
Ответ №3:
Это работает в Symfony 4
->add('fullName', null, [
'label' => 'Kontaktperson',
'attr' => [
'placeholder' => 'Contact person name'
],
])
Подробнее: http://toihid.com/?p=326
Комментарии:
1. Привет, Хандакер. Не могли бы вы ввести «более подробную часть» в своем ответе?
Ответ №4:
Документация Symfony 6 предлагает два способа.
Первый вариант находится внутри yourForm.php
:
->add('name', TextType::class,
[
'label' => 'Name *',
'attr' => ['placeholder' => 'Name *'],
'required' => true
])
Второй вариант находится внутри twig template
:
{{ form_label(form.name) }}
{{ form_widget(form.name, {'attr': {'placeholder': 'Name*' }}) }}
Вы можете найти более подробную информацию в официальной документации Symfony 6 FormType