2016-04-06 13 views
1

Hallo? Ich kämpfe mit SonataAdmin Bundle. Ich versuche ein FAQ-System zu erstellen.Symfony2 - SonataAdmin Bundle

Hier ist meine aktuelle Konfiguration. Mit einer Frage eine Kategorie entities:

Mit diesem System habe ich zwei Menüs (Fragen und Kategorien). Ich möchte nur ein Menü haben, wo ich die Fragen nach Kategorien gruppiert sehe.

Denken Sie, dass es mit der Standardkonfiguration von Sonata möglich ist?

Muss ich die listAction-Methode im CRUDController überschreiben.

Antwort

1

Was brauchen Sie können in zwei Haupt Dinge wieder aufgenommen werden:

  • Blenden Sie die Kategorien aus dem Armaturenbrett Admin
  • Aufschalten der Standardabfrage der Listenansicht die Frage

Zum ersten (Kategorien ausblenden), ändern Sie Folgendes in Ihrer Serviceerklärung:

sonata.admin.faq_category: 
    # ... 
    tags: 
     - { show_in_dashboard: false, name: sonata.admin, manager_type: orm, group: "FAQ", label: "Categories" } 
    # ... 

Für die letzten, den folgenden zu Ihrer QuestionAdmin Klasse hinzufügen:

/** 
* {@inheritDoc} 
*/ 
public function createQuery($context = 'list') 
{ 
    $query = parent::createQuery($context); 

    // Assuming the Question entity has a $categories field+association 
    $query 
     ->leftJoin($query->getRootAliases()[0].'categories', 'c') 
     ->groupBy('c.id') 

    return $query; 
} 

Hoffnung, die Ihren Bedarf paßt.

Verwandte Themen