Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony表单-动态项目数_Symfony - Fatal编程技术网

Symfony表单-动态项目数

Symfony表单-动态项目数,symfony,Symfony,我正在尝试构建一个产品页面,该页面将包含一个表单,该表单根据产品的不同具有动态数量的“选项”(选择框或输入字段)。在阅读了文档之后,我看不到如何创建在构建此表单时可以使用的表单实体。我觉得我遗漏了一些明显的东西。您需要做的基本上是创建集合类型的表单字段,这将是选择框、输入字段等的集合 检查并阅读有关嵌入表单的信息,这些信息描述得非常好 您的家长表格: class ParentType extends AbstractType { public function buildForm(For

我正在尝试构建一个产品页面,该页面将包含一个表单,该表单根据产品的不同具有动态数量的“选项”(选择框或输入字段)。在阅读了文档之后,我看不到如何创建在构建此表单时可以使用的表单实体。我觉得我遗漏了一些明显的东西。

您需要做的基本上是创建
集合
类型的表单字段,这将是选择框、输入字段等的集合

检查并阅读有关嵌入表单的信息,这些信息描述得非常好

您的家长表格:

class ParentType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('id', 'hidden')
            ->add('name')
            ->add('yourCollection', 'collection',  array(
                'type' => new ChildType(),
                'label' => 'Label for your child form',
                ));
    }
}
您的子女表格:

class ChildType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('id', 'hidden')
            ->add('category', 'choice')
            ;
    }
}

因此,我的想法是为选择框创建一个类,为输入字段创建一个单独的类,并将每个类作为ArrayCollections嵌入到我的主窗体中?确切地说,选择框的类需要像父窗体一样扩展
AbstractType