我有一个名为Ad的实体类,它包含像
这样的字段 id, banner, interstitial
问题是,当我尝试使用此实体创建表单时,'banner'文本字段未显示(未呈现),仅显示标签。
我注意到该字段的ID为 ad_banner ,如果我更改浏览器检查元素中的ID,则会显示...
什么是symfony中的ad_banner,为什么隐藏它?
我不想更改字段的名称,我不想更改树枝上的ID,因为我想保持简单,如下所示:
<div class="row">
<div class="col-md-6">
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}
</div>
</div>
我尝试从表单构建器更改字段的ID,但没有成功。谢谢!
广告类
/**
* @var string
*
* @ORM\Column(name="banner", type="string", length=255, nullable=true)
*/
private $banner;
AdType表单
/**
* @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正在隐藏它。