Hallo zusammen,

ich bin etwas verloren, um bei einem 404 Fehler in Contao eine eigene Logik vorzuschalten.

Warum:
- Wenn ein 404 geworfen wird, überprüfe ob es mit der URL ein News Element gibt im Feld "eigenerFremdAlias"

Idee:
- Hinzufügen eines Exception Listeners
- Logic in die Klasse einfügen und einen 301 Redirect vornehmen, sollte sich ein News Element finden, ansonsten die reguläre 404 ausgeben

Nur leider ließ sich der eigene ExceptionListener nicht von mir anlegen, weil vielleicht Teile oder der komplette Ansatz nicht korrekt waren!?
Ich möchte die Änderungen für eine Contao Installation vornehmen und kein separates Bundle erstellen.

---
Versuch der Umsetzung.
services.yml (und auch listener.yml) angelegt in
Code:
-app
--Resources
---config
Code:
services:
    App\EventListener\ExceptionListener:
        class: App\EventListener\ExceptionListener
        arguments:
            - "@contao.framework"
        tags:
            - { name: kernel.event_listener, event: kernel.exception }
        public: true
oder aber auch
Code:
services:
    App\EventListener\MyExceptionListener:
        class: App\EventListener\MyExceptionListener
        arguments:
            - "@contao.framework"
        tags:
            - { name: kernel.event_listener, event: kernel.exception }
        public: true

Und jetzt hätte ich erwartet, dass er versucht eine Klasse zu finden, welche MyExceptionListener oder ExceptionListener heißt.

Aber egal wohin ich diese gepackt habe (src, app, app/EventListener, app/Resources, u.v.m.) Es gab keinen Fehler, keine Ausgabe oder irgendwas.

Ich habe einiges versucht zu lesen, aber mir fehlt glaube ein Schubser in die richtige Richtung.

Vielleicht kann mir jemand dazu helfen.

viele Grüße
Uwe

---
Nebenfrage:
Gibt es eine Übersicht, wofür jeweils die beiden Ordner vorgesehen sind?
Code:
-app
--config
vs.
Code:
-app
--Resources
---config