TYPO3:没有找到模板。无法解决视图以进行操作

TYPO3: No template was found. View could not be resolved for action

我正在对 TYPO3 后端模块进行一些试验,当我在后端的左侧菜单中单击我的模块时,我试图获得一个视图。但是,当我单击此按钮时,会收到以下消息:

Sorry, the requested view was not found. The technical reason is: No template was found. View could not be resolved for action "list" in class "MyVendor\MyModule\Controller\ConnectionController".

我在文件夹 Resources/Private/Backend/Templates/Connection 中有列表操作的视图,文件名为 List.html(大驼峰)

我使用的是 TYPO3 7.6.15 版,我用扩展构建器制作了这个模块。

如有任何帮助,我们将不胜感激。

您还可以更改模板根路径(扩展采用模板的相对路径):

前往

setup.ts

文件(或setup.txt文件;取决于个人喜好和本地配置)并添加以下行

plugin.tx_myslider.view.templateRootPath = EXT:path/to/custom/directory/

例如它可能看起来像这样:

EXT:slider/Resources/Private/Templates/myAwesomeFolder/

注意:滑块只是一个占位符。您可以简单地将其替换为您的分机名称

将您的扩展程序添加到网站节点。在您添加它之前,setup.ts 将不起作用。

此(或类似)错误的一些可能原因:

1。忘记包含 TypoScript 静态模板

  • 查看文档:Include TypoScript from extensions

    1. 选择 WEB > 模板 模块(在模块菜单中)
    2. Select 您的起始(根)页面(在页面树中)
    3. Select 信息/修改(在 Docheader 中)
    4. 选择编辑整个模板记录
    5. 选择选项卡包括
    6. Select 您的分机在 可用项目

这将激活 Configuration/TypoScript

下的 TypoScript

2。路径错误

通过 TypoScript 设置的模板路径必须匹配文件系统中可用的模板路径。

通常默认路径为:

  • Resources/Private/Templates(对于前端插件)

  • Resources/Private/Backend/Templates(对于后端模块)

这一定是通过 TypoScript 正确设置的。例如:

Configuration/TypoScript/setup.typoscript:

# Module configuration
module.tx_myexample_web_myexamplelist {
    view {
        templateRootPaths.0 = EXT:myexample/Resources/Private/Backend/Templates/
...  
  • 模块。用于后端模块
  • 如果您正在使用前端插件,请使用插件。而不是模块。
  • 以 TypoScript is .typoscript since TYPO3 8 结尾的正确文件,不再是 .ts 或 .txt。对于版本 7,使用 .ts.
  • 是正确的

3。文件名不正确

确保控制器的名称与模板目录中的子目录名称相匹配。模板文件名大写

  • Controller/SomeController.php: listAction()

匹配

  • Resources/Private/Backend/Templates/一些/List.html

在哪里定义 TS:

  • 要么如上所述在 Configuration/TypoScript setup.typoscript 中(并通过静态包含加载)。
  • 扩展根中的文件ext_typoscript_setup.typoscript可用于设置独立于页面树和模板记录的TypoScript。这将包含在所有 TypoScript 模板的设置部分中。但也要考虑 documentation 中的警告。
  • 使用 ExtensionManagementUtility 中的函数直接在扩展中加载 TypoScript 或 TypoScript 文件