在symfony2上输入名称数组

时间:2013-12-27 20:56:24

标签: symfony silex

我有一个非常长的形式,并希望对这样的字段进行分组:

<input type="text" name"profile[name]">
<input type="text" name"formation[school_name]">

我阅读了有关集合但我不知道使用集合来做这件事。

1 个答案:

答案 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实现。

我希望有所帮助。我相信还有很多其他方法可以解决这个问题。