Typo3 类型3<;f:图像/>;嵌套viewhelper或以某种方式将处理后的图像用于lazyload

Typo3 类型3<;f:图像/>;嵌套viewhelper或以某种方式将处理后的图像用于lazyload,typo3,fluid,typo3-7.6.x,viewhelper,Typo3,Fluid,Typo3 7.6.x,Viewhelper,我试图用一个特定的滑块暗示lazyload,它要求输入两次图像的src,一次是src,第二次是data lazy,如下所示: <img src="domain.com/image.png" data-lazy="domain.com/image.png"> 使用我可以使用数据=“{lazy:'domain.com/image.png'}”并应重复使用viewhelper创建的图像的src。。。(和内联使用) 我实际上有两个问题: 如何嵌套f:uri.image?这会产生一个错

我试图用一个特定的滑块暗示lazyload,它要求输入两次图像的src,一次是src,第二次是data lazy,如下所示:

<img src="domain.com/image.png" data-lazy="domain.com/image.png">

使用
我可以使用
数据=“{lazy:'domain.com/image.png'}”
并应重复使用viewhelper创建的图像的src。。。(和内联使用)

我实际上有两个问题:

  • 如何嵌套f:uri.image?这会产生一个错误
  • 它实际上应该是对同一个的引用 如果我嵌套f:uri.image,我会创建第二个渲染图像吗? (特别是因为我还设置了宽度和高度,但我希望代码片段保持简单)
该解决方案适用于TYPO3 v7和v8

<img src="{f:uri.image(src : image.uid)}" data-lazy="{f:uri.image(src : image.uid)}" />

您不必使用
标记来创建返回相同已处理资源的文件。

试试这个

<img src="{f:uri.image(src : image.uid)}" data-lazy="{f:uri.image(src : image.uid)}" />

您不必使用
标记来创建返回相同已处理资源的循环。

在循环中:

<f:for each="{MARKER}" as="file">
<img class="lazy" src=".../blank.gif" data-lazy="{f:uri.image(image: file, width:'XXXc', height:'XXXc', treatIdAsReference:1)}" alt="{file.alternative}" title="{file.title}">
</f:for>

在循环中:

<f:for each="{MARKER}" as="file">
<img class="lazy" src=".../blank.gif" data-lazy="{f:uri.image(image: file, width:'XXXc', height:'XXXc', treatIdAsReference:1)}" alt="{file.alternative}" title="{file.title}">
</f:for>


spot on on,谢谢,我没想到viewhelper会两次生成相同的处理图像!!即使您将同一图像“处理”两次,但请确保它正在收集缓存数据,一旦它第一次处理:-)请注意,谢谢,我没想到viewhelper会两次生成相同的已处理图像!!即使您将同一图像“处理”两次,但请确保它在收集缓存数据,第一次处理后:-)