【问题标题】:TYPO3: Backend Module linking action of another ControllerTYPO3:后端模块链接另一个控制器的动作
【发布时间】:2017-11-05 16:15:46
【问题描述】:

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

现在我想在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>

如果单击其中一个链接,我会得到:“无法分析类:“MyExt\MyExt\Controller\UserController”可能未加载或没有自动加载器? 类 MyExt\MyExt\Controller\UserController 不存在”,作为错误。

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

提前感谢所有帮助,祝大家有个美好的一天!

【问题讨论】:

  • 如果你的类没有被加载,首先检查命名空间、类和文件名的拼写,然后重新安装(卸载/安装)你的扩展。

标签: typo3 extbase typo3-extensions


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    composer dump-autoload
    

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

    【讨论】:

    • 在 extbase 中不需要在 composer.json 中指定控制器。我只是有一个拼写错误的函数导致所有崩溃。
    猜你喜欢
    • 2015-08-06
    • 1970-01-01
    • 2016-01-05
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    相关资源
    最近更新 更多