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.css
和EXT: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.
我正在为我自己的 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.css
和EXT: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.