我们的 TYPO3 用户(编辑)需要将 SVG 文件交换/更新到 TYPO3 网站。svg 文件是可点击的,因此<img>
html 标记对它们不起作用。我们决定支持带有后备功能的<object>
标签(我是否对 SVG 文件使用 <img>、<object> 或 <embed>?)。<img>
前端的 Fluid 代码很容易生成正常的 img 标签:
<f:layout name="Default" />
<f:section name="main">
<div class="container">
<f:for each="{dce:fal(field:'image1', contentObject:contentObject)}" as="fileReference" iteration="iterator">
<f:if condition="{iterator.isFirst}">
<f:image src="{fileReference.uid}" alt="" treatIdAsReference="1" />
</f:if>
</f:for>
</div>
</f:section>
但是,根据FluidTYPO3 vhs ViewHelper for SVG Images?,我也许可以使用这样的流体代码:
<img src="{f:uri.image(src: 'uploads/tx_myext/{imgIcon}')}">
根据对象,这将是:
<object data="{f:uri.image(src: 'xxx')}" type="image/svg+xml">
<img src="{f:uri.image(src: 'xxx')}">
</object>
不幸的是,我不知道作为 src 提供什么。{fileReference.uid}
仅插入文件的唯一 ID(数字)。
如何将文件 id 转换为图片的相对或绝对 URI?