2016-08-08 17 views
1

Ich konnte eine einfache CRUD-App für ein Projekt mit dem Symfony EasyAdminBundle erstellen und es hat sich gut für die normalen Entity-basierten Anwendungsfälle gearbeitet. Ich habe jedoch einige zusätzliche Anwendungsfälle, in denen ich Daten wiederherstellen möchte. Für diese muss ich bestimmte Anforderungsattribute erfassen, an einen Controller übergeben und dann an einen Backend-API-Aufruf an einen Remote-Service delegieren.Wie konfiguriere ich ein benutzerdefiniertes Formular/Seite in EasyAdminBundle?

Dies kann alles in Symfony getan werden, aber ich habe Probleme damit, dies in die EasyAdmin Ansicht/Arbeitsweise zu verkabeln. Idealerweise möchte ich, dass dies eine Seite innerhalb eines einfachen Admins ist und nicht das linke Menü usw. verliert. Bisher habe ich nur eine Model-Klasse erstellt, die eine der vorhandenen Tabellen verwendet, aber nur einige Eigenschaften hat Ich müsste in die API fahren. Ich überschreibe dann die Controller-Aktionen, anstatt eine Standardspeicherung durchzuführen, handle ich gegen diese Remote-API.

Das Problem mit diesem Ansatz ist, dass ich offensichtlich jetzt an Doctrine-Entitäten gebunden bin, und das wäre problematisch für Anfragen, die nicht mit der Datenbank abzugleichen waren.

Gibt es eine Möglichkeit, eine logische Entität zu definieren, mit der ich Assoziationen nutzen kann, um Lookups usw. zu erhalten, die nahtlos in das Bundle eingebunden werden, aber nicht an eine Backend-Datenbanktabelle oder View gebunden sind?

Antwort

1

Ich würde dieses Problem beim Erstellen einer benutzerdefinierten Aktion as explained here lösen (wahrscheinlich möchten Sie eine routenbasierte Aktion) und dann eine Vorlage verwenden, die von @EasyAdmin\default\layout.html.twig oder einer anderen Standardvorlage ähnlich wie Sie erreichen möchten.

Verwandte Themen