我在表单中显示集合时遇到问题.
在显示我的实体集时,我有这样的事情:
0
Name: myInputName
Address: myInputAddress
1
Name: myInputName
Address: myInputAddress
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么Symfony2显示索引 ...
这对于所有已保存的实体都进入了我的收藏......
这里是我使用的代码:
$builder
->add('person', 'collection', array(
'label' => ' ',
'type' => new PersonType(),
'prototype' => true,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
))
;
Run Code Online (Sandbox Code Playgroud)
在我的twig文件中:
<div>
{{ form_widget(edit_form) }}
</div>
Run Code Online (Sandbox Code Playgroud)
请帮忙
山姆
Dov*_*ius 81
删除集合项的索引(标签):
$builder
->add('person', 'collection', array(
...
'options' => array('label' => false)
))
;
Run Code Online (Sandbox Code Playgroud)
使用密钥
entry_options代替optionsSymfony 3和4
如果要为每行添加自定义标签,您可以自己生成表单:
{{ form_start(edit_form) }}
{% for person in form.persons %}
{{ form_row(person, {'label': 'custom label per item' }) }}
{% endfor %}
{{ form_end(edit_form) }}
Run Code Online (Sandbox Code Playgroud)
注意:在Symfony 2.3和2.4上测试过
小智 6
这是几天前,但因为我面对Symfony 3的同样问题,sectus的答案是正确的.
使用
'entry_options' => ['label'=>false],
Run Code Online (Sandbox Code Playgroud)
构建器中的选项可隐藏对象项.
最好的祝福
您可以自定义集合的呈现,以不显示索引,例如:
{% block _FORMNAME_person_widget %}
{% spaceless %}
{% for child in form %}
{{ form_widget(child.Name) }}
{{ form_widget(child.Address) }}
{% endfor %}
{% endspaceless %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12776 次 |
| 最近记录: |