Ich habe ein BaseBundle, das ich erweitern muss, um eine kleine Anzahl von Vorlagen und eventuell Controller-Funktionen zu überschreiben. Ich verwende Annotationen, daher verweist app/config/routing.yml auf "@ BaseBundle/Controller /".Wie sollten Symfony2-Bundles, die mit Anmerkungen versehene Controller verwenden, erweitert werden?
Wenn ich CustomBundle, die BaseBundle erweitert erweitern routing.yml einfach CustomBundle leeren Controller-Ordner. Gibt es eine Möglichkeit, dieses Verhalten anders als das Erstellen von Klassen zu ändern, um einen einzelnen Controller in BaseBundle zu überschreiben, auch wenn ich nichts ändern möchte?
UPDATE: Die Erweiterung von BaseBundle hat auch das zusätzliche Problem, alle @Template() - Annotationen zu unterbrechen. Wenn ich einen leeren Controller erstelle, der die Controller von BaseBundle erweitert, beschwert er sich darüber, dass er die nicht vorhandene CustomBundle: Default: index.html.twig-Vorlage nicht finden kann.
eigentlich http://stackoverflow.com/questions/9373433/symfony2-bundle-inheritance-losing-parent-bundles-routes scheint die Frage besser zu beantworten. Die Verwendung des absoluten Pfads zum BaseBundle-Controller-Ordner schien auch mit der Funktion getParent zu funktionieren, und dann können Sie Vorlagen einfacher überschreiben, ohne die Controller-Aktion ebenfalls außer Kraft setzen zu müssen. Ich musste die Templates allerdings noch explizit in den Basis-Bundle-Controllern angeben. –