2017-07-29 35 views
1

工作,我想使用一些包从奏鸣曲项目编辑1:N的关联:FormTypeMapping不SonataCoreBundle

一个MediaList可以分配多个Media对象。教条配置是正确的,MediaAdmin这个配置也是我的Media实体的管理员类。该medialist中管理员应该嵌入我的媒体形式,并允许添加/删除项目列表:

protected function configureFormFields(FormMapper $formMapper) 
    { 
     $formMapper->add('media', 'sonata_type_collection', 
      [ 
       'by_reference' => false, 
      ], 
      [ 
       'edit' => 'inline', 
       'inline' => 'table' 
      ]); 
    } 

在symfony中3,对于字符串formtypes如“sonata_type_collection”支持已被删除。但是,SonataCoreBundle添加了一些功能,可以重新启用此功能(请参阅documentation 3.1)。

不幸的是,这是不是为我工作,我得到一个InvalidArgumentException(无法加载类型“sonata_type_collection”)

  • SonataCoreBundle和确信FormHelper::registerFormTypeMapping被称为具有断点和调试。
  • 我尝试使用FQCN代替(Sonata\CoreBundle\Form\Type\CollectionType),但是索纳塔采用sonata_type_admin内部从而未能当我按下“添加”按钮
  • 它前几天工作,因为我跑composer update没有在我的作曲家改变任何失败。 json

那么如何在Symfony 3.X中使用这些表单类型?是否需要其他配置?

我composer.json(不是所有的项目,但我认为最相关的):

"php": ">=5.5.9", 
"doctrine/doctrine-bundle": "^1.6", 
"doctrine/orm": "^2.5", 
"sonata-project/admin-bundle": "^3.20.1", 
"sonata-project/doctrine-orm-admin-bundle": "^3.1", 
"symfony/symfony": "3.3.2", 

回答

0

我发现,是为我工作的配置。 我把我的composer.json中的minimum-stability设置为dev。将其更改为stable并将其更新后重新运行。