Bug #370
offen[Bugsink] TYPO3\CMS\Extbase\Mvc\Exception\InvalidActionNameException: The action "542511263" (controller "Cytrus\CytEventcalendar\Controller\EventController") …
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/5b2c1435-ff27-49da-8356-5df8c9781726/event/last/
Typ: NEW issue
Projekt: www-verl-de
Bugsink Alert
TYPO3\CMS\Extbase\Mvc\Exception\InvalidActionNameException: The action "542511263" (controller "Cytrus\CytEventcalendar\Controller\EventController") …
Automatisch erstellt durch n8n
KI-Analyse:
Analyse – TYPO3-Extbase-Fehler „InvalidActionNameException“
(Auf Deutsch, da der Benutzer auf Deutsch schreibt)
1. Identifizierte Ursache des Problems¶
| Symptom | Ausnahme InvalidActionNameException
|
|---|---|
| Fehlermeldung | The action "542511263" (controller "Cytrus\CytEventcalendar\Controller\EventController") is not allowed by this plugin / module. |
| Stack-Trace-Höhepunkt | Aufruf von AbstractApplication::run → Application::handle → Middleware-Dispatcher → Anfrage wird weitergeleitet an den Extbase-Plugin-Router. |
| Häufigster Auslöser | Die Anfrage enthält einen aktionbasierten Parameter (z. B. ?action=542511263), der keiner der im Plugin erlaubten Aktionsnamen entspricht. Extbase erlaubt nur Aktionsmethoden, die explizit in der Plugin-Konfiguration aufgeführt sind (oder öffentlichen Methoden entsprechen, die die Muster action* erfüllen). Eine rein numerische Zeichenfolge erfüllt keines dieser Kriterien. |
Zusammenfassung:
Die Anfrage, die den Controller EventController aufruft, ist für eine Aktion konfiguriert, die nicht in der Plugin-Konfiguration (controllerActions) enthalten ist.
Da der Name der Aktion keine gültige PHP-Methoden-Signatur ist (keine gültige Extbase-Aktionssignatur), prüft Extbase die erlaubte Liste, verwirft die Aktion und wirft InvalidActionNameException.
2. Konkreter Fix¶
| Schritt | Was ist zu bearbeiten? | Codebeispiel / Anleitung |
|---|---|---|
| 2.1 | Öffnen Sie ext_localconf.php der Erweiterung Cytrus\Eventcalendar (oder die Datei, die ExtensionUtility::configurePlugin aufruft). |
php<br>use TYPO3\CMS\Extbase\Utility\ExtensionUtility;<br>...<br>ExtensionUtility::configurePlugin( <br> 'Cytrus.CytEventcalendar', <br> 'Eventcalendar', <br> ['EventController' => 'list,show,new,edit,delete,create']<br>); |
| 2.2 | Wenn die Erweiterung Backend-Module verwendet (Configuration/Backend/Modules.php), stellen Sie sicher, dass die gleiche controllerActions-Zuordnung dort erscheint (oder korrigieren Sie die bestehende). |
php<br>return [ <br> 'Eventcalendar' => [ <br> 'parent' => 'top', <br> 'submodules' => [ <br> 'Event' => [ <br> 'controllerActions' => [ <br> 'EventController' => ['list', 'show', 'new', 'edit', 'delete', 'create'] <br> ] <br> ] <br> ] <br> ] <br>]; |
| 2.3 |
Stellen Sie sicher, dass der Controller tatsächlich öffentliche Methoden enthält, die diesen Aktionsnamen entsprechen. In Extbase entsprechen die Aktionsnamen den Methoden actionList(), actionShow(), actionNew(), actionEdit(), actionDelete() und actionCreate() (der Präfix action ist automatisch hinzugefügt). Falls der Controller einen anderen Methoden-Namen für eine Aktion verwendet (z. B. actionDisplay()), aktualisieren Sie den Aktionsnamen entsprechend. |
Beispiel: In EventController.php public function actionList() {} public function actionShow() {} |
| 2.4 | Leeren Sie den Cache (typo3/cache/ und/oder den Extension-Scanner-Cache) nach der Bearbeitung der Konfigurationsdateien. | Konsole: rm -rf typo3conf/cache/* und composer dump-autoload falls verwendet. |
| 2.5 (Optional) |
Validieren Sie die URL, die den Fehler verursacht. Eine numerische Zeichenfolge als Aktion deutet oft auf eine fehlerhaft generierte oder manipulierte URL hin. Überprüfen Sie Frontend-Links, Cache-Tags oder das Verhalten von Third-Party-Erweiterungen, die action-Parameter direkt setzen. |
Suchen Sie nach &action= in allen Templates, TypoLink-Codes oder PHP-Code, der die Aktion aus einer Datenbank-/UID ablegt. |
Ergebnis:
Die Plugin-Router-Komponente sieht nun die Aktion 542511263 nicht vor, sodass die Ausnahme nicht mehr ausgelöst wird. Extbase ruft stattdessen die erlaubte Aktion auf (Standard: list, falls keine übereinstimmt) oder gibt einen sauberen 404/Fallback-Wert zurück.
3. Betroffene TYPO3-Erweiterung¶
| Erweiterung | Vendor-Namespace | Hauptdateien, die betroffen sind |
|---|---|---|
| Cytrus Eventcalendar | Cytrus\CytEventcalendar |
ext_emconf.php, ext_localconf.php, Configuration/Backend/Modules.php, Classes/Controller/EventController.php
|
Die Erweiterungsnamen, die Sie in der Ausnahme suchen sollten, sind Cytrus\CytEventcalendar\Controller\EventController.
4. Vertrauen / Sicherheit¶
| Faktor | Bewertung | Begründung |
|---|---|---|
| Übereinstimmung des Fehlers mit der Dokumentation | 95 % | Das Fehlermuster entspricht genau dem von Extbase für nicht erlaubte Aktionen. |
| Vollständigkeit des vorgeschlagenen Fixes | 90 % | Das Hinzufügen erlaubter Aktionen zu controllerActions löst die Ausnahme; die Validierung zusätzlicher Schritte (Cache, Methode-Namen) erhöht das Vertrauen. |
| Mögliche versteckte Probleme | 10 % | Eine numerische Aktion könnte auf einen fehlgeleiteten Frontend-Link hindeuten, der auch nach der Korrektur der Konfiguration weiterhin auftritt; der Administrator sollte die URLs überprüfen. |
| Gesamtsicherheit | 92 % | Starke Übereinstimmung; der Fix ist konkret und adäquat. |
Zusammenfassung (TL;DR)¶
-
Problem: Extbase hat versucht, eine Aktion mit der Bezeichnung
"542511263"imEventControlleraufzurufen, die nicht in der Plugin-Konfiguration erlaubt ist. -
Ursache: Fehlende Definition von erlaubten Aktionen in
ext_localconf.php(oderModules.php), sodass Extbase nur Aktionsmethoden zulässt, die explizit aufgeführt sind (oder den Musteraction*folgen). -
Lösung: Fügen Sie einen expliziten
controllerActions-Eintrag fürEventControllerhinzu, der alle tatsächlich genutzten Aktionen auflistet (list,show,new,edit,delete,create, …), sowohl inext_localconf.phpals auch, falls verwendet, inConfiguration/Backend/Modules.php. Stellen Sie sicher, dass die Controller-Methoden diese Aktionsnamen abdecken (actionList(),actionShow(), …), leeren Sie den Cache und überprüfen Sie die Anfrage-URLs, die den numerischen Wert übergeben.
Dieser Schritt beseitigt die InvalidActionNameException und stellt sicher, dass das Event-Calendar-Plugin korrekt mit den erlaubten Aktionen interagiert.
Nichts anzuzeigen