Symfony 是否将FormTheme用于CollectionType?

Symfony 是否将FormTheme用于CollectionType?,symfony,symfony-forms,Symfony,Symfony Forms,我正在为我的symfony项目使用Ninsuo JqueryCollection插件,我有一个具有collectionType的表单,只是我希望目标实体以其自己的布局显示,但我不知道如何将其应用于collectionType 我有这样的“子窗体” 子表单: {{form_start(form)}} <div class="card"> <h5 class="card-header">Nouvel utilisateur</h5>

我正在为我的symfony项目使用Ninsuo JqueryCollection插件,我有一个具有collectionType的表单,只是我希望目标实体以其自己的布局显示,但我不知道如何将其应用于collectionType 我有这样的“子窗体”

子表单:

{{form_start(form)}}
    <div class="card">
        <h5 class="card-header">Nouvel utilisateur</h5>
        <div class="card-body">
            {{form_row(form.email)}}

            <div class="row align-items-center">
                <div class="col-md-4">
                    {{form_row(form.nom)}}
                </div>
                <div class="col-md-4">
                    {{form_row(form.prenom)}}
                </div>
                <div class="col-md-4">
                    {{form_row(form.service)}}
                </div>
            </div>
            {{form_row(form.roles)}}
        </div>
    </div>
{{form_end(form)}}
$builder
        ->add('utilisateurs', CollectionType::class, [
            'entry_type' => AdminUserRegistrationType::class,
            'entry_options' => [
                'label' => false,
            ],
            'allow_add' => true,
            'allow_delete' => true,
            'delete_empty' => true,
            'by_reference' => true,
            'prototype' => true,
            'label' => false,
            'attr' => array(
                'class' => 'my-selector',
                'label' => false,
            ),
            'by_reference' => false,
        ]);
        ;
$builder
            ->add('nom', TextType::class)
            ->add('prenom', TextType::class)
            ->add('email', EmailType::class)
            ->add('service', EntityType::class, [
                'class' => GroupeValidateurs::class,
                'query_builder' => function (GroupeValidateursRepository $repo) {
                    return $repo->createQueryBuilder("g")
                        ->orderBy("g.nom", 'ASC');
                },
                'choice_label' => 'nom',
                'label' => "Service",
                'placeholder' => 'Service'
            ])
            ->add('roles', ChoiceType::class, [
                'label' => "Rôles",
                'choices' => [
                    'Admin' => 'ROLE_ADMIN',
                    'Direction' => 'ROLE_DIRECTION',
                    'RH' => 'ROLE_RH',
                ],
                "expanded" => true,
                "multiple" => true,

            ])
        ;
{% block utilisateursType_label %}{% endblock %}
{% block utilisateursType_errors %}{% endblock %}

{% block utilisateursType_widget %}

    <div class="card">
        <h5 class="card-header">Nouvel utilisateur</h5>
        <div class="card-body">
            {{form_widget(form.email)}}

            <div class="row align-items-center">
                <div class="col-md-4">
                    {{form_widget(form.nom)}}
                </div>
                <div class="col-md-4">
                    {{form_widget(form.prenom)}}
                </div>
                <div class="col-md-4">
                    {{form_widget(form.service)}}
                </div>
            </div>
            {{form_widget(form.roles)}}
        </div>
    </div>

{% endblock %}
使用模板:

{{form_start(form)}}
    {{form_row(form.utilisateurs, {'attr': {'class': 'my-selector jquery-buttons-collection mt-3'} })}}
    <button type="submit" class="btn btn-primary">Enregistrer</button>
    {{form_end(form)}}
和表单主题:

{{form_start(form)}}
    <div class="card">
        <h5 class="card-header">Nouvel utilisateur</h5>
        <div class="card-body">
            {{form_row(form.email)}}

            <div class="row align-items-center">
                <div class="col-md-4">
                    {{form_row(form.nom)}}
                </div>
                <div class="col-md-4">
                    {{form_row(form.prenom)}}
                </div>
                <div class="col-md-4">
                    {{form_row(form.service)}}
                </div>
            </div>
            {{form_row(form.roles)}}
        </div>
    </div>
{{form_end(form)}}
$builder
        ->add('utilisateurs', CollectionType::class, [
            'entry_type' => AdminUserRegistrationType::class,
            'entry_options' => [
                'label' => false,
            ],
            'allow_add' => true,
            'allow_delete' => true,
            'delete_empty' => true,
            'by_reference' => true,
            'prototype' => true,
            'label' => false,
            'attr' => array(
                'class' => 'my-selector',
                'label' => false,
            ),
            'by_reference' => false,
        ]);
        ;
$builder
            ->add('nom', TextType::class)
            ->add('prenom', TextType::class)
            ->add('email', EmailType::class)
            ->add('service', EntityType::class, [
                'class' => GroupeValidateurs::class,
                'query_builder' => function (GroupeValidateursRepository $repo) {
                    return $repo->createQueryBuilder("g")
                        ->orderBy("g.nom", 'ASC');
                },
                'choice_label' => 'nom',
                'label' => "Service",
                'placeholder' => 'Service'
            ])
            ->add('roles', ChoiceType::class, [
                'label' => "Rôles",
                'choices' => [
                    'Admin' => 'ROLE_ADMIN',
                    'Direction' => 'ROLE_DIRECTION',
                    'RH' => 'ROLE_RH',
                ],
                "expanded" => true,
                "multiple" => true,

            ])
        ;
{% block utilisateursType_label %}{% endblock %}
{% block utilisateursType_errors %}{% endblock %}

{% block utilisateursType_widget %}

    <div class="card">
        <h5 class="card-header">Nouvel utilisateur</h5>
        <div class="card-body">
            {{form_widget(form.email)}}

            <div class="row align-items-center">
                <div class="col-md-4">
                    {{form_widget(form.nom)}}
                </div>
                <div class="col-md-4">
                    {{form_widget(form.prenom)}}
                </div>
                <div class="col-md-4">
                    {{form_widget(form.service)}}
                </div>
            </div>
            {{form_widget(form.roles)}}
        </div>
    </div>

{% endblock %}
{%block-usilizateUrsType_-label%}{%endblock%}
{%block USILIATEURSTYPE_errors%}{%endblock%}
{%block-usilizateUrsTypeu widget%}
新利用者
{{form_小部件(form.email)}
{{form_小部件(form.nom)}
{{form_小部件(form.prenom)}
{{form_小部件(form.service)}
{{form_小部件(form.roles)}
{%endblock%}

但是我不知道如何找到块名

对不起,我不明白。您希望应用什么布局?它与当前显示的内容有何不同?请看这个链接:我有一个CollectionType和这个插件,可以添加一些“利用者”。用户字段具有要尊重的formType。我希望我的领域有一个formTheme,但我不知道这是怎么做到的我更新了我的第一篇文章