3

プロジェクトで使用Symfony 2.1しています。ユーザーの管理に使用FOSUser Bundleし、アプリケーション用にカスタマイズします。今、私は管理用に使用したいと考えていSonataAdmin Bundleます。通常のエンティティでは正常に機能します (通常の CRUD を行うことができます) が、ユーザーの場合、ダッシュボードにユーザー リストとリンクが表示されますが、[新規作成] または [クリックして編集] に従うと、500 サーバー エラーが表示されます。

"Class does not exist"

SonataUser BundleuserBundle で多くのカスタマイズを行い、それらを失いたくないため、使用したくありません..

アイデアはありますか?例はありますか? 助けてくれてありがとう:)

関連コード:

config.yml で:

services:
    sonata.admin.user:
        class: Acme\AdminBundle\Admin\UserAdmin
        arguments: [null, Acme\GeneralModelBundle\Entity\User, SonataAdminBundle:CRUD]
        calls:
          - [setUserManager, ["@fos_user.user_manager"]]
        tags:
          - {name: sonata.admin , manager_type: orm, group: Users, label: User}
4

1 に答える 1

5

ついに私は問題を見つけました!! Sonata Admin のドキュメントには、私が使用した UserAdmin の例がありました。この例では、FOSUser Bundle でデフォルトで有効になっていない configureFormFields 関数にグループを追加します。その行にコメントすると、すべてがうまくいきます!! :))

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->with('General')
            ->add('username')
            ->add('email')
            ->add('plainPassword', 'text')
        ->end()
      /******************************************************************* 
          ->with('Groups')
          ->add('groups', 'sonata_type_model', array('required' => false))
        ->end() 
       ******************************************************************/
        ->with('Management')
            ->add('roles', 'sonata_security_roles', array( 'multiple' => true))
            ->add('locked', null, array('required' => false))
            ->add('expired', null, array('required' => false))
            ->add('enabled', null, array('required' => false))
            ->add('credentialsExpired', null, array('required' => false))
        ->end()
    ;
}
于 2013-02-24T07:16:53.283 に答える