2017-07-11 5 views
0

のために、私はTYPO3 6.2でf:forなViewHelperについての簡単な質問TYPO3流体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:aliasに計算された値を割り当てる/作成するために使用f:cycle(いくつかのエントリでのみ可能)
  • 使用ext:vhs

後の2つのソリューションでは、計算する必要がありますが、これは流体には表示されません。
しかし、あなたはのTypoScriptなViewHelper使用することができます。

lib.calc = TEXT 
lib.calc { 
    current = 1 
    prioriCalc = 1 
} 

をし、あなたが以下のようなfluid ForViewHelperを使用してこれを行うことができます{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

でそれを呼び出します。

インデックスとインデックスを使用すると、常に0が始まります。したがって、以下のようにすることができます。常に

+0

ForViewHelperは動作しません。もっと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> 

で始まるサイクルとサイクルを使用して

<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と画像2は表示されません。 – Robin

関連する問題