使用FormTheme作为CollectionType吗?

时间:2019-12-04 13:30:13

标签: symfony symfony-forms

我正在为我的symfony项目使用Ninsuo JqueryCollection插件https://symfony-collection.fuz.org/symfony3/,并且我有一个具有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)}}

我的主要表格:

{{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.users应用第一种表单的布局。有人会知道吗?

编辑:

我的主要表单:

$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,
        ]);
        ;

使用模板:

{{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.utilisateurs formType:

$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 %}

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

0 个答案:

没有答案