php - 如何自定义外键单选框的每个元素,添加 id 或 classes
问题描述
我是 Symfony 的新手,我想自定义生成的外键单选框的每个元素,我想为每个元素添加一些 id 和类,我可以自定义整个框,但他的元素我不知道如何!
class NiveauType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('niveau')
->add('cycle', EntityType::class, array(
"class" => "AdminBundle\Entity\Cycle",
"choice_label" => "cycle",
"expanded" => true,
"multiple" => false,
"attr" => ['class' => 'radioboxes_cycle']
));
;
}
我可以通过使用 css 来访问他的元素,但是如果有任何选项可以从 FormType 自定义它们,或者通过使用 twig 将 ids 添加到每个框
<style>
.radioboxes_cycle{
font-size:16px;
display:inline-flex
}
.radioboxes_cycle div{
margin:10px;
}
</style>
<div class="modal fade" id="ajouter_niveau" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
{{ form_start(formNiveau, { 'method' : 'post', 'action': path('admin_niveau_new') }) }}
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Ajouter un niveau</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="form-group custom-mt-form-group">
<label class="control-label">Cycle<span class="text-danger">*</span></label>
</div>
{{ form_widget(formNiveau.cycle, {'attr': {'class':'radiobox_cycle'}}) }}
<div class="form-group custom-mt-form-group">
{{ form_widget(formNiveau.niveau) }}
<label class="control-label">Niveau<span class="text-danger">*</span></label><i class="bar"></i>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-primary mr-2" type="submit">Ajouter</button>
<button class="btn btn-dark" data-dismiss="modal">Annuler</button>
</div>
</div>
</div>
{{ form_end(formNiveau) }}
</div>