2017-05-30 14 views
1

私は現在、フロントエンドにブートストラップを備えたカルーセルを構築しようとしています。TYPO3:流体の中でカウントアップ

スライドを生成すると効果的です。

<f:if condition="{gallery.rows}"> 
    <f:for each="{gallery.rows}" as="row"> 
     <f:for each="{row.columns}" as="column"> 
      <f:if condition="{column.media}"> 
       <div class="item"> 
        <f:media 
         file="{column.media}" 
         width="{column.dimensions.width}" 
         height="{column.dimensions.height}" 
         alt="{column.media.alternative}" 
         title="{column.media.title}" 
        /> 
        <div class="carouselText"> 
         <div class="container"> 
          <h1>{column.media.title}</h1> 
          <f:if condition="{column.media.description}"> 
          <p> 
           {column.media.description} 
           <f:if condition="{column.media.link}"> 
            <a href="" class="btn btn-xs">read more</a> 
           </f:if> 
          </p> 
          </f:if> 
         </div> 
        </div> 
       </div> 
      </f:if> 
     </f:for> 
    </f:for> 
</f:if> 

私はコントロールのための小さな点が必要です。
問題は、彼らがこのようにカウントアップする必要があること、である:私はiteration属性との組み合わせで、スライドを生成するためにやったのと同じf:forループを使用して

<li data-target="#carousel" data-slide-to="0"></li> 
<li data-target="#carousel" data-slide-to="1"></li> 
<li data-target="#carousel" data-slide-to="2"></li> 

それが行にネストされているため動作しません。また、列。 <f:for each="{row.columns}" as="column" iteration='i'>
次の出力が:

<li data-target="#carousel" data-slide-to="0"></li> 
<li data-target="#carousel" data-slide-to="1"></li> 
<li data-target="#carousel" data-slide-to="0"></li> 

幸いgalleryアレイは、画像の量が{gallery.count.files} = 3に格納された整数値を有します。

for-loopsなどを使用して整数だけでカウントアップし、配列を持たない簡単な方法が必要ですか?

答えて

1
TYPO3v8で

以上:

TYPO3v7で
{f:variable(name: 'count', value: 0)} 
<!-- perform iteration to any depth, recursive or reverse or whatever --> 
<li data-slide-to="{count}">..</li> 
{f:variable(name: 'count', value: '{count + 1}')} 

およびそれ以前のあなたはVHSのライブラリを必要としv:variable.set{count -> v:iterator.sum(b: 1)}ため{count + 1}ためf:variableを代用します。

関連する問題