[英]TYPO3 Fluid f:for each iterator
我有一個關於 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>
謝謝你的幫助。
你可以使用額外的 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>
不可能。
你可能會做變通辦法。
您可以將所需的值分配給臨時變量。 多種可能性:
f:cycle
(只有很少的條目才有可能)ext:vhs
創建計算值/將計算值分配給流體變量f:alias
在循環中創建局部流體變量。 對於后兩個解決方案,您需要計算的可能性,這在流體中沒有給出。
但您可以使用打字錯誤的 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>
您可以使用如下所示的fluid ForViewHelper
來執行此操作。
使用 Index 和 Index start 始終為 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>
使用 Cycle 和 cycle 總是從 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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.