我对TYPO3 6.2中的f:for
ViewHelper有一个简单的问题
如何将迭代器中的偏移应用于索引2?
示例:
<f:for each="{facility.media}" as="media" iteration="iterator">
<!-- this index should start at 2-->
<img src="..." data-lightbox-index="{ iterator.index }">
</f:for>
感谢您的帮助。
答案 0 :(得分:1)
你可以使用额外的f:if
<f:for each="{facility.media}" as="media" iteration="iterator">
<f:if condition="{iterator.index} > 2">
<img src="..." data-lightbox-index="{ iterator.index }">
</f:if>
</f:for>
答案 1 :(得分:0)
不可能。
你可能会做一些变通办法 您可以将所需的值分配给临时变量。多种可能性:
f:cycle
(仅限少数条目)ext:vhs
创建/将计算值分配给流量变量f:alias
在循环中创建一个本地流体变量。对于后两种解决方案,您需要计算的可能性,这在流体中没有给出 但你可以使用typoscript viewhelper:
lib.calc = TEXT
lib.calc {
current = 1
prioriCalc = 1
}
并使用{f:cObject(typoscriptObjectPath:'lib.calc',data:{iterator.index}+2)}
<f:for each="{facility.media}" as="media" iteration="iterator">
<f:alias map="{newIndex:'{f:cObject(typoscriptObjectPath:\'lib.calc\',data:\'{iterator.index}+2\')}'}">
<img src="..." data-lightbox-index="{newIndex}" />
</f:alias>
</f:for>
答案 2 :(得分:0)
您可以使用下面的fluid ForViewHelper
执行此操作。
使用索引和索引始终为0.因此,您可以像下面这样做。
<f:for each="{facility.media}" as="media" iteration="iterator">
<f:if condition="{iterator.index} >= 2">
<img src="..." data-lightbox-index="{ iterator.index }">
</f:if>
</f:for>
使用循环和循环始终以1开始。
<f:for each="{facility.media}" as="media" iteration="iterator">
<f:if condition="{iterator.cycle} >= 3">
<img src="..." data-lightbox-index="{ iterator.index }">
</f:if>
</f:for>
了解更多ForViewHelper