sonata_type_collection 添加行时清除输入文件
sonata_type_collection clear input file when adding a row
提前,抱歉我的英语不好。
我的 "sonata_type_collection" 表单类型有问题。
我有两个实体,第一个,"proposition" 与 "Image" 有一对多的关系。 "Image" 与 "proposition" 是多对一的关系。一切似乎都运行良好,ImageAdmin 嵌套在 PropositionAdmin 中。
但是当我在 PropositionAdmin 中添加一行时,没有持久化对象,它清除了 input="file" 字段。我读到这是正确的行为,因为奏鸣曲在添加行时会重新加载表单。所以我想知道是否有办法避免这种行为。
提前致谢。
这是我的代码:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('title')
->add('axe')
->add('username')
->add('password','repeated', array('type' => 'text','options' => array('translation_domain' => 'FOSUserBundle'),
'first_options' => array('label' => 'form.password'),
'second_options' => array('label' => 'form.password_confirmation'),
'invalid_message' => 'fos_user.password.mismatch'))
->add('imgs', 'sonata_type_collection', array(
'by_reference' => false
), array(
'edit' => 'inline',
'allow_delete' => true
))
;
}
当命题与图像有 oneToMany 关系时,您应该在 PropositionAdmin 中提交的 imgs 配置中添加 multiple 属性 class
->add('imgs', 'sonata_type_collection', array(
'by_reference' => false
'multiple' => true
), array(
'edit' => 'inline',
'allow_delete' => true
));
我最终使用了 Symfony2 表单。
我用 Command here
生成了表单类型
然后,在父实体的包中:
>add('imgs', 'collection', array(
'label' => 'Créations',
'by_reference' => false ,
'type' => new \propalBundle\Form\ImageType(),
'allow_delete' => true,
'allow_add' => true
), array(
'edit' => 'standard',
'inline' => 'table',
))
它可能需要一些调整,但似乎有效。
提前,抱歉我的英语不好。
我的 "sonata_type_collection" 表单类型有问题。
我有两个实体,第一个,"proposition" 与 "Image" 有一对多的关系。 "Image" 与 "proposition" 是多对一的关系。一切似乎都运行良好,ImageAdmin 嵌套在 PropositionAdmin 中。
但是当我在 PropositionAdmin 中添加一行时,没有持久化对象,它清除了 input="file" 字段。我读到这是正确的行为,因为奏鸣曲在添加行时会重新加载表单。所以我想知道是否有办法避免这种行为。
提前致谢。
这是我的代码:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('title')
->add('axe')
->add('username')
->add('password','repeated', array('type' => 'text','options' => array('translation_domain' => 'FOSUserBundle'),
'first_options' => array('label' => 'form.password'),
'second_options' => array('label' => 'form.password_confirmation'),
'invalid_message' => 'fos_user.password.mismatch'))
->add('imgs', 'sonata_type_collection', array(
'by_reference' => false
), array(
'edit' => 'inline',
'allow_delete' => true
))
;
}
当命题与图像有 oneToMany 关系时,您应该在 PropositionAdmin 中提交的 imgs 配置中添加 multiple 属性 class
->add('imgs', 'sonata_type_collection', array(
'by_reference' => false
'multiple' => true
), array(
'edit' => 'inline',
'allow_delete' => true
));
我最终使用了 Symfony2 表单。
我用 Command here
生成了表单类型然后,在父实体的包中:
>add('imgs', 'collection', array(
'label' => 'Créations',
'by_reference' => false ,
'type' => new \propalBundle\Form\ImageType(),
'allow_delete' => true,
'allow_add' => true
), array(
'edit' => 'standard',
'inline' => 'table',
))
它可能需要一些调整,但似乎有效。