TYPO3 Fluid - 退出 for 循环

TYPO3 Fluid - Exit a for loop

是否有可能以某种方式打破流体中的 for 循环?

<f:for each="{subItem.image}" as="imageItem">
 <f:if condition="{selectedCategory} == {subItem.imagecategory}">
  Do Stuff
  Exit loop
 </f:if>
</f:for>

我需要循环浏览几张图片,然后在类别匹配时渲染其中一张,然后退出循环,因为我只想渲染具有匹配类别的第一张图片。

您可以使用 Fluid 变量视图助手:

<f:variable name="imageRendered" value="0" />
<f:for each="{subItem.image}" as="imageItem">
 <f:if condition="{selectedCategory} == {subItem.imagecategory} && {imageRendered} == 0">
  Do Stuff
  Exit loop
  <f:variable name="imageRendered" value="1" />
 </f:if>
</f:for>

也许您可以使用数据处理器为您提供一个仅包含类别中图像的数组,然后您可以使用 {imageItem.0} 抓取第一张图像。

看看TYPO3\CMS\Frontend\DataProcessing\FilesProcessor