我有一个非常长的形式,并希望对这样的字段进行分组:
<input type="text" name"profile[name]">
<input type="text" name"formation[school_name]">
我阅读了有关集合但我不知道使用集合来做这件事。
答案 0 :(得分:2)
我没有足够的声誉来评论,所以我会在这里作为答案提出一些可能性。
如果您只想在html中对字段进行分组,则在树枝模板中渲染每个字段,而不是渲染整个表单。您可以在Symfony2 Form Documentation
中了解相关信息如果您需要渲染多个表单,每个表单都包含profile[name]
和formation[school_name]
,那么您可能希望使用表单集合。例如,创建一个名为Diego\MyBundle\Form\Type\MyNameAndSchoolType
的表单类型来保存您的profile[name]
和formation[school_name]
。在您显示的表单中,
$builder->add('myNameAndSchool', 'collection', array(
'type' => new \Diego\MyBundle\Form\Type\MyNameAndSchoolType(),
'label' => 'myBundle.nameAndSchool.label',
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'by_reference' => false
))
您阅读了有关表单集的内容,但为了完整起见,这里是链接Form Collections 这也解释了如何设置原型和一些用于添加和删除记录的JavaScript示例。
您可能还想查看MopaBootstrapBundle,其中包含用于处理集合的示例和帮助程序,包括javascript实现。
我希望有所帮助。我相信还有很多其他方法可以解决这个问题。