【问题标题】:TYPO3 Fluid - Exit a for loopTYPO3 流体 - 退出 for 循环
【发布时间】:2019-05-29 15:21:12
【问题描述】:

是否有可能打破流体中的 for 循环?

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

我需要循环处理几张图像,然后在类别匹配时渲染一个,然后退出循环,因为我只想渲染具有匹配类别的第一张图像。

【问题讨论】:

    标签: typo3 fluid


    【解决方案1】:

    您可以使用 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>
    

    【讨论】:

    • 谢谢它对我有用,但总而言之,我认为这在性能方面是一个相当糟糕的解决方案,因为循环继续到数组的末尾。但我想没有其他方法可以做到这一点,所以谢谢;)
    【解决方案2】:

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

    看看TYPO3\CMS\Frontend\DataProcessing\FilesProcessor

    【讨论】:

      猜你喜欢
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多