我正在为自己的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>
这些资源均未包含在内。当我直接将f:uri.resource
渲染到HTML中时,无论使用哪种路径,解析为
/typo3/
这对我来说毫无意义。在我的项目中,/typo3/
是TYPO3核心相对于我的Web路径的符号链接。
我已经保证资源文件分别放在EXT:my_extension/Resources/Public/CSS/backend.css
和EXT:my_extension/Resources/Public/JS/backend.js
中。我遇到了一个类似的问题,即在前端包含资源,该问题将解决为/
-最后,我决定改为通过Typoscript加入。我不确定是否也可以对后端模块执行此操作。任何想法如何解决这个问题?也许我错过了配置中的某些东西,这些东西弄乱了f:uri.resource
的路径分辨率。任何帮助将不胜感激。
答案 0 :(得分:2)
对于最小的测试用例,请尝试将纯输出放入流体模板中:
{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。