Bug #366
offen[Bugsink] TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "1038131322" is not allowed by plugin "Calendardetail". Please check f…
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/59987057-9e9e-40b4-9870-dcd79a744dc4/event/last/
Typ: NEW issue
Projekt: www-verl-de
Bugsink Alert
TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "1038131322" is not allowed by plugin "Calendardetail". Please check f…
Automatisch erstellt durch n8n
KI-Analyse:
1. Ursache identifizieren¶
Die Wurzelursache ist eine Parameterverdrängung im Extbase-Dispatch-Prozess. Die Zahl 1038131322 ist eindeutig eine UID/Page-ID und kein gültiger Controller-Name. Sie wird vom Extbase-Dispatcher als Controller-Name interpretiert.
Das passiert typischerweise, wenn:
-
Ein GET-Parameter wie
id(Page-ID) in den Controller-Namen übergeht. Die URL enthält wahrscheinlich sowohl die Page-ID als auch Plugin-Parameter, und der Parametertx_calendardetail_controllerwird durch eine fehlerhafte URL oder TypoScript-Konfiguration mit der Page-ID überschrieben. -
Die TypoScript-Konfiguration des Plugins
tx_calendardetailenthält eine fehlerhafte Zuordnung, bei der eine Page-ID oder UID an die Stelle des Controller-Parameters gerät. -
RealURL/Routing falsch konfiguriert ist und ein Argument (z.B.
tx_calendardetail[controller]) mit einem Page-Wert befüllt wird.
Der konkrete Mechanismus: Der Extbase-Dispatcher liest aus den Request-Parametern den Wert für den Controller und prüft ihn gegen die in configurePlugin() registrierten Controller. Da 1038131322 dort nicht steht, wirft er die InvalidControllerNameException.
2. Fix (konkret)¶
Schritt 1 — ext_localconf.php prüfen:
Überprüfen Sie die configurePlugin()-Registrierung der betroffenen Extension:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'Vendor.Calendar',
'Calendardetail',
[\Calendar\Controller\CalendarController::class => 'list, detail, show'], // Controller korrekt registriert?
[\Calendar\Controller\CalendarController::class => 'list, detail, show']
);
Stellen Sie sicher, dass die Controller-Liste vollständig und korrekt ist.
Schritt 2 — TypoScript prüfen:
Prüfen Sie die TypoScript-Einstellungen für das Plugin:
plugin.tx_calendardetail {
view {
templateRootPaths {
0 = EXT:calendar/Resources/Private/Templates/
}
}
persistence {
storagePid = [korrekte PID]
}
}
Prüfen Sie, ob hier versehentlich eine Page-ID an eine Controller-Variable zugewiesen wird.
Schritt 3 — URL/Routing prüfen:
Überprüfen Sie die erzeugten Links (z.B. im Frontend). Stellen Sie sicher, dass die URL-Parameter korrekt aufgebaut sind:
-
Richtig:
tx_calendardetail[controller]=Calendar&tx_calendardetail[action]=detail -
Fehlerhaft:
tx_calendardetail[controller]=1038131322(Page-ID statt Controller-Name)
Schritt 4 — Extension-Update / Cache:
- Führen Sie
composer updatebzw../vendor/bin/typo3 cache:flushaus - Prüfen Sie, ob die Extension auf dem neuesten Stand ist (möglicherweise ein Bug in der Extension)
3. Betroffene TYPO3 Extension¶
Die betroffene Extension ist cal (The Cal Calendar Extension) bzw. ein auf ihr basierendes Calendar-System mit dem Plugin-Namen Calendardetail. Die Extension registriert das Plugin über ExtensionUtility::configurePlugin() in ihrer ext_localconf.php.
4. Confidence¶
90%
Begründung: Die Diagnose ist sehr eindeutig — eine numerische UID wird als Controller-Name interpretiert, was ein klassisches Problem der Parameterverdrängung oder fehlerhaften TypoScript-Konfiguration ist. Ohne den direkten Zugriff auf das TypoScript und die ext_localconf.php der Extension kann ich den exakten Ort der Fehlkonfiguration nicht zu 100% benennen, aber die Fehlerursache und die Lösungsstrategie sind klar und praxiserprobt.
Nichts anzuzeigen