如何在没有任何自定义Form Type类的情况下创建多个字段的集合?

时间:2015-12-20 14:30:39

标签: php forms collections symfony

我有很多要创建的集合,并且不想为每个entry_type创建FormType,因为它们只使用一次。

因此,我没有在entry_type选项中提供表单类型FQCN,而是尝试直接从表单构建器中添加一个新的Type

$type = $this
   ->get('form.factory')
   ->createBuilder(Type\FormType::class)
   ->add('label', Type\TextType::class, [
       'label' => 'Key',
   ])
   ->add('value', Type\TextType::class, [
       'label' => 'Value',
   ])
   ->getType()
;

$form = $this
   ->get('form.factory')
   ->createBuilder(Type\FormType::class)
   ->add('hash', Type\CollectionType::class, [
       'entry_type'    => $type,
       'entry_options' => [],
       'allow_add'     => true,
       'allow_delete'  => true,
       'prototype'     => true,
       'required'      => false,
       'delete_empty'  => true,
   ])
   ->getForm()
;

但由于某些原因,原型无效:

<div class="form-group">
    <label class="control-label required">__name__label__</label>
    <div id="form_hash___name__"></div>
</div>

我手动创建的$type中的所有子字段都缺失了。我的错误在哪里?

0 个答案:

没有答案