2016-03-21 18 views
0

Ich versuche, einen Sonata-Admin nur mit Annotation von JMSDiExtraBundle zu erstellen.Symfony 3 Sonata Admin Erstelle Admin mit Annotation

Admin:

/** 
* @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); 
    } 
} 

Und mit Parameter-Datei:

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

Wenn ich admin in yml es Arbeit zu registrieren, wobei jedoch Anmerkung Nr.

Tom

Antwort

1

Als Dokumentation für JMSDiExtraBundle Zustände:

Standardmäßig können Sie nur die mitgelieferten Annotationen auf Nicht-Service-Controller verwenden; Keine anderen Verzeichnisse werden gescannt.

Wenn Sie jedoch auch Anmerkungen verwenden möchten, um Ihre regulären Dienste zu konfigurieren, können Sie weitere Standorte konfigurieren, wie unten gezeigt.

Wenn Sie Dienste in einem Bundle über Annotationen konfigurieren möchten oder einige Dienste außerhalb einer Bundle-Struktur wie in Ihrem src/-Verzeichnis haben möchten, können Sie die folgenden Konfigurationsoptionen verwenden, so dass das Bundle wird sie abholen, und fügen sie sie Injektionsbehälter Ihre Abhängigkeit:

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

Ohh .... Mein Fehler ... Danke! –

+0

@TomaszFurca, wenn dies Ihre Frage beantwortet, bitte markieren Sie die Antwort! –