TYPO3扩展名-f:uri.resource返回错误的路径

问题描述 投票:0回答:1

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

<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/

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

我已经保证我的资源文件分别放置在EXT:my_extension/Resources/Public/CSS/backend.cssEXT:my_extension/Resources/Public/JS/backend.js中。我遇到了一个类似的问题,即在前端包含资源,该问题将解决为/-最后,我决定改为通过Typoscript进行包含。我不确定是否也可以对后端模块执行此操作。任何想法如何解决这个问题?也许我错过了配置中的某些东西,这些东西弄乱了f:uri.resource的路径分辨率。任何帮助,将不胜感激。

typo3 fluid typo3-9.x typo3-extensions
1个回答
0
投票

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

{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

© www.soinside.com 2019 - 2024. All rights reserved.