管理类中的奏鸣曲自定义字段

时间:2015-03-04 12:12:35

标签: symfony sonata-admin

我创建了一个新的字段类型,我试图在sonata中使用它。 在我的一个管理类中,我有以下内容:

$formMapper
                    ->add('name', 'text')
                    ->add('img_home', new \MyBundle\Form\Type\ImageType(), array(
                        'required' => false,
                        'mapped' => false,
                        'label' => 'home set image',
                        'attr' => array('src' => '/' . $home)
                            )
                    )

当我在img_home字段上执行此操作时,我会触发此异常

'请为字段定义类型...'

https://github.com/sonata-project/SonataDoctrineORMAdminBundle/blob/master/Builder/FormContractor.php#L56

如果我注释掉这个例外,一切正常。我没有任何问题地看到了我想要的领域。

如何在不更改代码的情况下解决此问题?

1 个答案:

答案 0 :(得分:3)

找到解决方案。 在阅读完代码之后,我注意到你可以传递第四个参数,而sonatas代码会检查传递的数组是否有' type'键。 所以我刚补充说:

array('type' => 'string')

作为第4个参数