TYPO3 DCE(流体):如何生成 SVG 对象而不是图像标签?
TYPO3 DCE (Fluid): How to generate an SVG Object instead of an image tag?
我们的TYPO3用户(编辑)需要到TYPO3网站交换/更新SVG文件。 svg 文件是可点击的,因此 <img>
html 标签对它们不起作用。我们决定支持 <object>
标签,并使用 <img>
回退 (Do I use <img>, <object>, or <embed> for SVG files?)。
前端的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>
但是,根据 ,我也许可以像这样使用流畅的代码:
<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转换成图片的相对URI或绝对URI?
我认为 viewhelper 属性 treatIdAsReference 就是您要查找的内容。
f:image 以及 f:uri:image 可以处理文件和文件引用。
您似乎有一个 FileReference,因此您应该添加值为 1 的属性
这是一个使用内联符号的示例:
{f:uri.image(src: '{fileReference.uid}', treatIdAsReference:'1')}
结果是你的文件路径,它可以用在常规的HTML-标签中。
我们的TYPO3用户(编辑)需要到TYPO3网站交换/更新SVG文件。 svg 文件是可点击的,因此 <img>
html 标签对它们不起作用。我们决定支持 <object>
标签,并使用 <img>
回退 (Do I use <img>, <object>, or <embed> for SVG files?)。
前端的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>
但是,根据
<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转换成图片的相对URI或绝对URI?
我认为 viewhelper 属性 treatIdAsReference 就是您要查找的内容。 f:image 以及 f:uri:image 可以处理文件和文件引用。
您似乎有一个 FileReference,因此您应该添加值为 1 的属性 这是一个使用内联符号的示例:
{f:uri.image(src: '{fileReference.uid}', treatIdAsReference:'1')}
结果是你的文件路径,它可以用在常规的HTML-标签中。