2017-07-29 50 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並將其更新後重新運行。