TYPO3 扩展 - f:uri.resource returns 错误路径

TYPO3 extension - f:uri.resource returns wrong path

我正在为我自己的 TYPO3 扩展编写一个后端模块,我将内容包装到一个 be.container 中,包括一个 CSS 和一个 JS 文件:

<f:be.container 
    includeCssFiles="{0: '{f:uri.resource(path:\'CSS/backend.css\')}'}" 
    includeJsFiles="{0: '{f:uri.resource(path:\'JS/backend.js\')}'}"
>
    <!-- module content -->
</f:be.container>
不过,这些资源中的

None 被包括在内。当我将 f:uri.resource 直接渲染到 HTML 中时,它 - 无论哪条路径 - 都解析为

/typo3/

这对我来说毫无意义。在我的项目中,/typo3/ 是 TYPO3 核心链接到的路径,相对于我的网络路径。

我确定我的资源文件分别放在EXT:my_extension/Resources/Public/CSS/backend.cssEXT:my_extension/Resources/Public/JS/backend.js。我有一个类似的问题,包括前端的资源,它会解析为 / - 最后我决定改为通过 Typoscript 包含。我不确定我是否也能为后端模块执行此操作。知道如何解决这个问题吗?也许我在配置中遗漏了一些东西,它扰乱了 f:uri.resource 的路径解析。任何帮助将不胜感激。

对于最小测试用例,请尝试将普通输出放入您的流体模板中:

{f:uri.resource(path:'CSS/backend.css')}

如果结果相同,则 ViewHelper 似乎不知道当前扩展名。您可以将扩展密钥作为参数传递给它,请参阅 https://docs.typo3.org/other/typo3/view-helper-reference/9.5/en-us/typo3/fluid/latest/Uri/Resource.html.