如何删除未在表单文件中显示的表单标签?

时间:2014-11-04 06:47:12

标签: forms symfony label

我正在处理来自食谱的一些表格集合,但是我有这个标签出现,我试图删除它没有任何运气。

我没有在表单中看到下面的代码。

如何删除此标签?

蓝色标签'Clientphones'中突出显示的是我要删除的内容:

enter image description here

这是页面信息中的标签:

enter image description here

ClientPhone表单

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('home', 'text');
    $builder->add('office', 'text');
    $builder->add('mobile', 'text');
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'Acme\DemoBundle\Entity\ClientPhone',
    ));
}

public function getName()
{
    return 'ClientPhone';
}

客户表格

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('firstName', 'text', array(
            'label' => 'First Name'
        ))
        ->add('lastName', 'text', array(
            'label' => 'Last Name'
        ))
        ->add('email', 'text', array(
            'label' => 'E-mail Address'
        ))
        ->add('clientphones', 'collection', array(
            'type'         => new ClientPhoneType(),
            'allow_add'    => true,
            'allow_delete' => true,
            'by_reference' => false,
        ));
}

Twig表格

<form class="form" name="client" method="post">

    {{ form_start(form) }}
    {{ form_errors(form) }}

    {{ form_row(form.firstName) }}
    {{ form_row(form.lastName) }}
    {{ form_row(form.email) }}

    <h3>Client Phones</h3>
    <ul style="list-style-type: none;" class="clientphones" data-prototype="{{ form_widget(form.clientphones.vars.prototype)|e }}">
        {% for phone in form.clientphones %}
            <li>{{ form_row(phone.home) }}</li>
            <li>{{ form_row(phone.office) }}</li>
            <li>{{ form_row(phone.mobile) }}</li>
        {% endfor %}
    </ul>
    {{ form_rest(form) }}

    <input type="submit" value="Submit" />

    {{ form_end(form) }}
</form>

2 个答案:

答案 0 :(得分:1)

您应该将字段设置为在{{ form_rest(form) }}之前呈现,以便它不会尝试渲染所有错过的内容(有意或无意)。

    {% do form.clientphones.setRendered %}
{{ form_rest(form) }}

答案 1 :(得分:0)

使用form_label,form_error,form_widget而不是form_row

e.g。

<div>
    {{ form_label(phone.home) }} // remove or update this if you want to drop or modify the label
    {{ form_errors(phone.home) }}
    {{ form_widget(phone.home) }}
</div>