【问题标题】:The default controller for extension \"X\" and plugin \"X\" can not be determined扩展“X”和插件“X”的默认控制器无法确定
【发布时间】:2020-07-05 16:18:36
【问题描述】:

大家下午好。

我正在尝试为 TYPO3 8.7 进行扩展,但我遇到了这个错误,我已经尝试了所有方法,但没有任何运气。

ext_localconf.php

<?php
defined('TYPO3_MODE') || die('Access denied.');

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'AOE.' . $_EXTKEY,
    'AoeShowroom',
    [
        \AOE\AoeShowroom\Controller\ShoeController::class => 'list, show',
    ],
    // non-cacheable actions
    [
        \AOE\AoeShowroom\Controller\ShoeController::class => '',
    ]
);

tt_content.php

<?php

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    'AOE.AoeShowroom',
    'AoeShowroom',
    'AOE Showroom',
    'EXT:aoe_showroom/Resources/Public/Icons/Extension.svg'
);

ShoeController.php

<?php
namespace AOE\AoeShowroom\Controller;
...
?>

如果您需要任何其他文件,请索取。

谢谢

【问题讨论】:

  • 你应该提供你的控制器骨架...
  • 我只是为此使用了扩展生成器。
  • 用扩展键替换第一个参数。 'AOE.' . $_EXTKEY

标签: typo3 typo3-8.x typo3-extensions typo3-8.7.x


【解决方案1】:

发生这种情况是因为您之前在此页面上创建了扩展插件。后来你把以前的插件改成了这个插件。错误消息来自前一个插件的 flexform 字段。现在它找不到控制器,因为 flexform 不适合当前插件。

解决方案:通过数据库工具删除此 tt_content recore 的 flexform,例如phpmyadmin。使用插件记录的id作为tt_content的uid。

UPDATE `tt_content` SET `pi_flexform` = '' WHERE `tt_content`.`uid` = 29;

see German page

【讨论】:

    猜你喜欢
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多