Typo3 Extbase: An error occurred while trying to call anyAction()
Das Problem
Ein selbst erstelltes Plugin, basierend auf extbase 6, soll eine Action (welche ist hier egal) mittels Controller->anyAction();
(wobei any hier für show, list, etc. steht) ausführen.
Lösungswege
- Ohne switchableControllerActions in einer Flexform: Kontrollieren Sie die ext_localconf.php; Hier sollten alle ausführbaren Actions nach folgendem Schema eingetragen sein:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'Vendor.'.$_EXTKEY, // UNBEDINGT mit großen Buchstaben zu Anfang
'Products', // Frontend-Plugin-Bezeichnung im Backend
// cacheable actions
array(
'Controller' => 'show, list',
),
// non-cacheable actions
array(
'Controller' => 'create, update, delete',
)
);
- Mit switchableControllerActions in einer Flexform: Die oberste Priorität haben die Einstellungen, die über switchableControllerActions aus einer Flexform ausgelesen werden. Kontrollieren Sie hier, ob der Wert eines Action-Auswahlfeldes diesem Schema entspricht:
Controller->list
. Achten Sie auch hier auf die Groß-/Kleinschreibweise. - Validations überprüfen: Überprüfen Sie, ob zu validierende Felder Ihres Models korrekt ausgefüllt sind oder korrekt ausgezeichnet sind. Suchen Sie in Ihrem Controller nach „@validate“ und prüfen Sie, ob in dem passenden Datensatz die Werte befüllt sind. Sie können entweder die Validierungsvorgänge aus dem Controller entfernen oder die Datensatze entsprechend befüllen. Sollten Sie die Validierungsvorgänge nicht entfernen wollen, prüfen Sie unbedingt die Eigenschaften in den TCA jeder Entities auf Pflichtfeld-Eigenschaften. So sollte ein im Controller als
@validate notEmpty
angegebener Parameter unbedingt – je nach Feldtyp – auf ‚minitems’=>1 (z.B. bei Select-Feldern) stehen. Hierzu nehmen Sie sich die TCA Reference zur Hilfe.
Ist einmal alles gegengeprüft, sollte die Fehlermeldung „An error occurred while trying to call anyAction()“ nicht mehr auftreten.
Empfangsprobleme mit Smartphones im O2-Netz beheben „Wetten, dass..?“ wird Ende 2014 eingestellt
One thought on “Typo3 Extbase: An error occurred while trying to call anyAction()”
Danke für den Beitrag. Hat mir bei der Fehlersuche sehr geholfen. Verwirrend war nur, das bei Punkt 3 anfangs vom Model und dann vom Controller die rede ist. @validate wird man aber nur im Model finden.