TYPO3:后端模块链接另一个控制器的动作

TYPO3: Backend Module linking action of another Controller

我在 ExtensionBuilder 的帮助下为 TYPO3 (7.6.15) 创建了一个简单的后端模块。 UserControllerMediaControllercreateActionshowActionlistActionPanelController 只有 showAction 是模块的主视图。

现在我想 link 来自 showAction 模板中其他控制器的动作。 PanelController.showAction (MyExt/Resources/Private/Templates/Panel/Show.html) 的视图内容如下:

<f:layout name="Default" />
<f:section name="content">
  <f:flashMessages />
  <f:link.action action="create" controller="User">Create new User</f:link.action>
  <f:link.action action="create" controller="Media">Create new Media</f:link.action>
</f:section>

如果单击其中一个 link,我会得到:"Could not analyse class: "MyExt\MyExt\Controller\UserController" 可能未加载或没有自动加载器? Class MyExt\MyExt\Controller\UserController 不存在”,作为错误。

我已经尝试将 plugin.tx_myext.callDefaultActionIfActionCantBeResolved = 1 添加到 setup.ts 并在 initializeAction 中加载其他控制器,但到目前为止没有任何效果。

在此先感谢大家的帮助,祝大家有个愉快的一天!

您是否尝试过手动清除缓存? 您还需要在自动加载部分的 composer.json 中指定您的控制器。

之后,您可以在安装工具中或使用此 cli 命令转储自动加载 类:

composer dump-autoload

在这里您可以阅读更多相关信息:typo3-composer

我只是有一个拼写错误的函数导致全部崩溃,不幸的是 TYPO 没有给出正确的错误信息。这并使用安装工具检查数据库中的错误修复了它。