2016-03-21 25 views
0

私はJMSDiExtraBundleの注釈だけを使用してソナタ管理者を作成しようとします。Symfony 3 Sonata管理者は、注釈を使用して管理者を作成します

管理者:

/** 
* @DI\Service("sonata.admin.company") 
* @DI\Tag("sonata.admin", attributes = { 
*  "manager_type" = "orm", 
*  "label"="Category", 
*  "group"="Orders" 
*  }) 
*/ 
class CompanyAdmin extends Admin 
{ 
    /** 
    * @DI\InjectParams({ 
    *  "code" = @DI\Inject("%admin__company__class%"), 
    *  "class" = @DI\Inject("%admin__company__code%"), 
    *  "baseControllerName" = @DI\Inject("%admin__company__base_controller_name%") 
    * }) 
    */ 
    public function __construct($code, $class, $baseControllerName) 
    { 
     parent::__construct($code, $class, $baseControllerName); 
    } 
} 

とパラメータを使用してファイル:

parameters: 
# parameter_name: value 
    admin__company__class: AppBundle\Entity\Company 
    admin__company__base_controller_name: SonataAdminBundle:CRUD 
    admin__company__code: admin.company 

私はYMLのITの仕事で管理者を登録すると、ないアノテーションを使用。

トム

答えて

1

JMSDiExtraBundle状態のドキュメントとして:デフォルトでは

、あなただけのあなたの非サービスコントローラに提供されたアノテーションを使用することができます。他のディレクトリはスキャンされません。

ただし、注釈を使用して通常のサービスを設定する場合は、次のようにさらに多くの場所を設定できます。

注釈を使用してバンドル内にサービスを設定する場合や、src /ディレクトリなどのバンドル構造の外にあるサービスを使用する場合は、次の設定オプションを使用してバンドルそれらをピックアップし、あなたの依存性注入コンテナに追加します:

jms_di_extra: 
    locations: 
     all_bundles: false 
     bundles: [FooBundle, AcmeBlogBundle] 
     directories: ["%kernel.root_dir%/../src"] 
+0

おお....私のミス...ありがとう! –

+0

@TomaszFurca、これがあなたの質問に答えたなら、答えに印を付けてください! –

関連する問題