首页 > 解决方案 > 如何自定义外键单选框的每个元素,添加 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">&times;</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>

标签: phpsymfony

解决方案


推荐阅读