У меня есть класс сущностей с именем Ad, он содержит такие поля, как
id, banner, interstitial
Проблема в том, что когда я пытаюсь создать форму с использованием этого объекта, текстовое поле "баннер" не отображается (не отображается), только метка.
Я заметил, что идентификатор поле ad_banner, если я изменю идентификатор в элементе проверки браузера, он будет отображаться...
Что такое ad_banner в symfony, почему он его скрывает?
Я не знаю не хочу менять имя поля и не хочу менять идентификатор из ветки, потому что хочу, чтобы все было просто:
<div class="row">
<div class="col-md-6">
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}
</div>
</div>
Я пытался изменить идентификатор поля из конструктора форм, но безуспешно. Благодарю вас!
Класс объявлений
/**
* @var string
*
* @ORM\Column(name="banner", type="string", length=255, nullable=true)
*/
private $banner;
Форма типа объявления
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('account', EntityType::class, [
'class' => 'AppBundle:Account',
'choice_label' => 'name',
'attr' => ['data-select' => 'true']
])
->add('banner', TextType::class, [
'attr' => [
'placeholder' => 'Banner Id...'
]
])
->add('interstitial', TextType::class, [
'attr' => [
'placeholder' => 'Interstitial Id...'
]
])
->add('submit', SubmitType::class, [
'label' => 'Create',
'attr' => [
'class' => 'btn btn-primary btn-sm'
]
])
;
}
сгенерированный HTML-код
<div class="form-group">
<label class="control-label required" for="ad_banner">Banner</label>
<input type="text" id="ad_banner" name="ad[banner]" required="required" placeholder="Banner Id..." class="form-control">
</div>
Я удалил стиль, потому что подумал, что, возможно, какой-то js скрывает его.