2017-07-11 30 views
0

我在TYPO3有關f:for視圖助手一個簡單的問題6.2TYPO3流體F:對於每個迭代

怎麼可能到應用偏移迭代器的索引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

不可能的。

您可能會採取變通方法。
您可以將所需的值分配給臨時變量。多種可能性:

  • 使用f:cycle(只有幾個條目可能)
  • 使用ext:vhs創建/計算的值賦給一個流體可變
  • 使用f:alias以創建循環內的局部體液變。

對於後面兩種解決方案,您需要計算的可能性,而不是在流體中給出。
但你可以使用Typo腳本視圖助手:

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> 
1

你可以使用一個額外的F:如果

<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> 
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

+0

不工作啓動。圖像1和圖像2將不會顯示。 – Robin