constantinmedia Blog

Just another guy blogging…



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

  1. 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',
    )
    );
  2. 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.
  3. 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.

,

One thought on “Typo3 Extbase: An error occurred while trying to call anyAction()
  • El Devoper sagt:

    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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.