symfony的twig tempalte和materialize的复选框之间的CSS冲突

uinbv5nw  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(72)

我正在使用Symfony 6的Twig模板沿着Materialize框架。我在客户端和报价之间有ManyToMany关系。因此,当创建我的客户端时,我希望将一个或多个报价分配给他们。因此,我在表单中有一个“填充”CSS类的entityType。

->add('offres', EntityType::class, [
            'class' => CfgOffreCommerciale::class,
            'choice_label' => 'offre_nom',
            'label' => 'Offres',
            'multiple' => true, // Activer la sélection multiple
            'expanded' => true,
            'attr' => [
                'class' => 'filled-in',
            ],
        ])

我这样展示我的报价:

<div class="col">
        <label>
            {{ form_label(form.offres) }}
            {{ form_widget(form.offres) }}
            <span>{{ form_errors(form.offres) }}</span>
        </label>
    </div>

所以,这就是我得到的:

<div class="col">
        <label class="required">Offres</label>
        <div class="input-field">
            <div id="client_new_form_offres">
                <input type="checkbox" id="client_new_form_offres_1" name="client_new_form[offres][]" value="1"/>
                <label for="client_new_form_offres_1">Option 1</label>
                <input type="checkbox" id="client_new_form_offres_2" name="client_new_form[offres][]" value="2"/>
                <label for="client_new_form_offres_2">Option 2</label>
                <input type="checkbox" id="client_new_form_offres_3" name="client_new_form[offres][]" value="3"/>
                <label for="client_new_form_offres_3">Option 3</label>
            </div>
        </div>
        <div class="form-error"></div>
    </div>

这是我通常应该做的:

<div class="col">
        <label class="required">Offres</label>
        <div class="input-field">
            <div id="client_new_form_offres">
                <label>
                    <input type="checkbox" class="filled-in" id="client_new_form_offres_1" name="client_new_form[offres][]" value="1"/>
                    <span for="client_new_form_offres_1">Option 1</span>
                </label>
                <label>
                    <input type="checkbox" class="filled-in" id="client_new_form_offres_2" name="client_new_form[offres][]" value="2"/>
                    <span for="client_new_form_offres_2">Option 2</span>
                </label>
                <label>
                    <input type="checkbox" class="filled-in" id="client_new_form_offres_3" name="client_new_form[offres][]" value="3"/>
                    <span for="client_new_form_offres_3">Option 3</span>
                </label>
            </div>
        </div>
        <div class="form-error"></div>
    </div>

提前感谢那些花时间帮助的人!

njthzxwz

njthzxwz1#

问题解决了,我做了一个form_theme:

{% block _your_form_name_widget %}
{# Personnalisation du rendu du champ "offres" #}
<div class="input-field">
    <div id="client_new_form_offres">
        {% for child in form %}
            <label>
                {{ form_widget(child, { 'attr': {'class': 'filled-in'} }) }}
                <span for="{{ child.vars.id }}">{{ child.vars.label }}</span>
            </label>
        {% endfor %}
    </div>
</div>

{% endblock %}
这是我表格:

{% form_theme form 'plateforme/client/form_theme.html.twig' %}
    {# Placez ceci ici avant le champ "offres" #}

    <div class="col">
        <label>
            {{ form_label(form.offres) }}
            {{ form_widget(form.offres, { 'attr': {'class': 'filled-in'} }) }}
            <span>{{ form_errors(form.offres) }}</span>
        </label>
    </div>

相关问题