Ignorieren eine Ausnahme in Twig Vorlage
Habe ich eine Vorlage area.html.twig
macht, dass eine weitere Vorlage:
//area.html.twig
...
{% render 'Acme:User:restricted.html.twig' %}
...
Gibt es eine Möglichkeit zu ignorieren,\fangen Sie eine Ausnahme, die ausgelöst wurde durch restricted.html.twig
und Rendern Sie einfach nichts statt?
- AFAIK gibt es keine Möglichkeit zum abfangen von Ausnahmen in Twig. Wie auch immer, Sie sollte nicht behandeln von Ausnahmen im frontend. Sie haben, um es in Aktion. P. S. versuchen Sie zu template Rendern? Sollten Sie
render
- controller Aktion. Meinst duinclude
? - Ich bin rendering eine controller-action. Die Aktion wird nur dargestellt, um einige der Benutzer und ich wollte die Aktion zu überprüfen, für die Erlaubnis und eine Ausnahme wird ausgelöst, wenn der Benutzer nicht autorisiert ist, es zu sehen. Ich kann nicht überprüfen, in der Vorlage selbst, weil es nicht nur ein
is_granted
überprüfen.. ich will ihn zu werfen eine Ausnahme, weil es in anderen Formen auch (standalone, ajax, etc..) - Haben Sie sich Gedanken über die Umsetzung Ihrer eigenen twig-filter oder die Funktion, und legen alle benötigten Logik?
- Aber das werden Sie nur tun, doppelt geprüft (in der twig-Funktion und dann in der Aktion).. ist meine eigene try...catch-Umbau kompliziert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden embedded-Controller in Ihre Vorlage ein:
besser dies mit einer route (wie von symfony security update):
In der Aktion, die Sie überprüfen können, was Sie wollen und bringen Sie eine leere Antwort /Vorlage für einige Umstände.
Können Sie auch wickeln Sie Ihre template-rendering in ein try & catch-block und return ein Fehler Vorlage im Falle einer Zweig Ausnahme: