Fügen Sie eine benutzerdefinierte Sonatenseitenroute zur Navigationsleiste hinzu

9

Ich habe eine benutzerdefinierte Sonatenseite erstellt

Einfache Route

%Vor%

Controller, der den Admin-Pool zurückgibt

%Vor%

Einfache Ansichtsvorlage

%Vor%

Das funktioniert, ich kann auf meiner Website mit /admin/foo darauf zugreifen und bekomme eine Seite mit der Sonata-Admin-Vorlage mit meinem 'Foobar' Inhalt.

Meine Frage ist, wie kann ich diese Route zur linken und oberen Navigationsleiste hinzufügen, ohne die Standardvorlage ändern zu müssen? Dies liegt daran, dass das linke Menü von einem KNP-Menü gerendert wird:

%Vor%

Und irgendwie muss ich meine neue Seite hinzufügen, um von diesem Menü gerendert zu werden.

Normalerweise wird eine Seite über einen Service hinzugefügt, aber diese werden auf einer Entität aufgebaut:

%Vor%

Meine Seite verwendet jedoch keine Entität, nur statischen Inhalt oder Inhalt, der nicht von einer Entität abhängig ist.

Ich weiß bereits, dass ich die Blöcke modifizieren kann, die die Menüs erzeugen, aber ich dachte, dass der beste Weg wäre, meine Klasse als einen Dienst hinzuzufügen, der als sonata.admin getaggt ist und in anderen keinen orm manager_type hat Worte, ist keine Entität. Wie kann das gemacht werden?

    
George Irimiciuc 17.11.2015, 12:15
quelle

2 Antworten

2

Sie sollten standard_layout überschreiben und den Inhalt des Blocks side_bar_nav ändern. Dies ist ein einfacher und schneller Weg. Oder Sie können in den Sonatencode eintauchen, um herauszufinden, wie man etwas in admin_pool.dashboardgroups injiziert - viel Spaß:)

    
Karol Wojciechowski 24.11.2015 01:16
quelle
1

Ich glaube nicht, dass das möglich ist, Sie müssen ein neues Layout erstellen, kopieren Sie das sonata admin layout und passen sie an Ihre Bedürfnisse an.

Sie können das verwendete Layout ändern, indem Sie die yml-Konfiguration für sonata_admin (Vorlagen - & gt; -Layout) oder das SonataAdmin-Bundle erweitern und eine eigene layout.html.twig erstellen.

    
HypeR 19.11.2015 09:56
quelle