Ich möchte ein kleines Formular erstellen und eine Sonata Admin Show Vorlage erstellen. Was ich bisher gemacht habe, ist das Erstellen der Funktion in der benutzerdefinierten CRUD für diese spezifische Entität (Reihenfolge), die sich von Sonata's Standard-CRUD erstreckt;
%Vor% In meiner orderAdmin habe ich die configShowFields
Methode;
Die order_actions
Vorlage sieht so aus und zeigt die relevante Funktionalität entsprechend dem Status der Bestellung und wer ist eingeloggt, also wie arbeitet man mit so vielen verschiedenen Routen?;
Wenn ich das versuche, bekomme ich einen Fehler;
Beim Rendern einer Vorlage wurde eine Ausnahme ausgelöst ("% Co_de%" ist für den Controller nicht definiert
_sonata_admin
und die aktuelle Route '' ") in AppBundle: PmodOrderAction: order_actions.html.twig in Zeile 3.
Ich verstehe aus der Dokumentation , die ich verwenden muss von dieser ApBundle\Controller\PmodOrderCRUDController
-Methode;
Aber ich kann es nicht zum Laufen bringen und bin mir nicht sicher, wie man Formulare anstelle eines einfachen Link-Buttons rendern kann.
Kann jemand bitte mir helfen, mein Problem zu beheben?
Das Attribut _sonata_admin
(route) wird von SonataAdminBundle
verwendet, um die erforderliche Administratorinstanz ( $this->admin
) abzurufen und Ihre Anforderungen konfigurieren / verarbeiten zu können:
Nach dem Hinzufügen der richtigen Routendefinition:
%Vor% Sie müssen auch den Code _sonata_admin
hinzufügen, um die richtige Anfrage an approveOrderAction()
:
Lassen Sie uns ein einfaches Beispiel machen:
Sie haben eine Order
-Einheit und ihre Admin-Klasse: OrderAdmin
in PurchaseBundle
, das ist also die Service-Definition der Sonate für OrderAdmin
class (Yaml):
Basierend auf Ihrer eigenen approveOrderAction()
können Sie diese Aktion nun folgendermaßen rendern:
Sie müssen nur den Admin-Code hinzufügen: 'purchase_bundle.admin.order_admin'
und es sollte funktionieren!
Tags und Links symfony sonata-admin symfony-sonata sonata