如何在TYPO3的TypoScript生成的HTML标签中解析扩展路径
解决TYPO3中Web Manifest路径解析问题
问题说明
想要在页面头部生成正确的Web Manifest标签:
<link rel="manifest" href="path_myext/site.webmanifest">
但路径解析始终出错,尝试两种方式均失败:
- 用之前解析图片路径有效的
IMG_RESOURCE类型,对manifest文件无效:
2 = IMG_RESOURCE 2.file = {$var.filepaths.img}/site.webmanifest 2.stdWrap.wrap = <link rel="manifest" href="|">
- 用
TEXT类型时,变量未被解析为实际可访问路径,直接输出原始变量内容:
2 = TEXT 2.value = <link rel="manifest" href="{$var.filepaths.img}/site.webmanifest">
输出结果:
<link rel="manifest" href="{EXT:myext/Resources/Public/images}/site.webmanifest">
常量定义(constants.ts):
var { filepaths { img = EXT:myext/Resources/Public/images } }
期望得到的正确输出:
<link rel="manifest" href="path_myext/site.webmanifest">
可行解决方案
方法1:结合FILE资源与TEXT解析路径
2 = TEXT 2.value = <link rel="manifest" href="|"> 2.stdWrap.cObject = FILE 2.stdWrap.cObject.file = {$var.filepaths.img}/site.webmanifest 2.stdWrap.cObject.returnUrl = 1
通过FILE资源将EXT路径转换为前端可访问URL,再填充到标签占位符中。
方法2:给TEXT添加路径解析配置
2 = TEXT 2.value = {$var.filepaths.img}/site.webmanifest 2.stdWrap.wrap = <link rel="manifest" href="|"> 2.stdWrap.insertData = 1 2.stdWrap.resourceUrl = 1
开启insertData解析常量,再用resourceUrl把EXT路径转成可访问URL。
关键说明
IMG_RESOURCE仅针对图片资源设计,会自动处理图片缩放、格式转换等逻辑,不适用于manifest这类非图片文件,必须用FILE或带路径解析配置的TEXT类型来处理。
内容的提问来源于stack exchange,提问作者Nelson Velasco
相关产品推荐
相关产品推荐

