2014-01-16 101 views
8

我得到的消息:索納塔異常得到太多的管理員註冊

無法找到該類的有效管理:祖阿曼\ VarshneyBundle \實體\ ArticleTable,得到太多的管理員註冊:sonata.admin.appsreview ,sonata.admin.review,sonata.admin.article

我無法弄清楚這個問題。

回答

21

你必須同時建立表單

protected function configureFormFields(FormMapper $formMapper) 
{ 
    $formMapper->add('user', 'entity', array(), array(
     'admin_code' => 'your.user.admin.service' 

    )); 
} 

當你有同一實體的多個管理類只發生在你的管理類,以指定在你的領域定義

「admin_code」選項。

+0

但是當我打開編輯表單然後我得到了相同的錯誤 –

+0

創建和編輯使用相同的形式。一旦你的表單配置有錯誤,你將在創建和編輯時都有它。 – bratek

+1

它爲我工作。只要確定它在該領域的第四個論點。 –

1

如果某人對於'configureListFields'方法有用,我會把它用於'configureListFields'方法。

protected function configureListFields(ListMapper $listMapper) 
{ 
$listMapper 
    ->add('filename', null, array('admin_code' => 'your.file.admin.service', 'label' => 'File Name')) 
    ->add('parent', 'sonata_type_list', array('admin_code' => 'your.file.admin.service', 'label' => 'Parent File')) 
    ->add('_action', 'actions', array(
     'label' => 'Actions', 
     'actions' => array(
      'download' => array(
       'template' => 'FileAdminBundle:File:list__action_download.html.twig' 
      ) 
     ) 
    )); 
} 

正如我們看到的,如果我們有多個領域,我們必須把所有他們的「admin_code」,節選的動作(如果我們有它)。

希望它有幫助。