我正在处理来自食谱的一些表格集合,但是我有这个标签出现,我试图删除它没有任何运气。
我没有在表单中看到下面的代码。
如何删除此标签?
蓝色标签'Clientphones'中突出显示的是我要删除的内容:
这是页面信息中的标签:
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>
答案 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>