速度テンプレートで 'for'ループを使用するには? で1週間前に同様の質問をすでに投稿しました。
だから...基本的に、速度テンプレートで「for」ループを使用することはできません。
整数4を保持する変数があるとします。その変数を使用して何かを4回表示したいとします。速度テンプレートでどのように行うのですか?
次のようにしてください:
#set($start = 0)
#set($end = 4)
#set($range = [$start..$end])
#foreach($i in $range)
doSomething
#end
コードはテストされていませんが、このように動作するはずです。
受け入れられた答えのように#set
を使用する必要はありません。次のようなものを使用できます。
#foreach($i in [1..$end])
LOOP ITERATION: $i
#end
インデックスをゼロにする場合は、範囲演算子内で1を減算できないため、1つの#set
を使用する必要があります。
#set($stop = $end - 1)
#foreach($i in [0..$stop])
LOOP ITERATION: $i
#end
Stephen Ostermillerの答えに別のオプションを追加するために、$foreach.index
を使用してゼロインデックスループを作成することもできます。 $n
回ループしたい場合:
#foreach($unused in [1..$n])
zero indexed: $foreach.index
#end
ここでは、$unused
は使用されず、代わりに0から始まるインデックスに$foreach.index
を使用します。
範囲は1から始まり、包括的であるため、$unused
は[1、2、3、4、5]でループしますが、$foreach.index
は[0、1、2、3、 4]。
詳細については、 ユーザーガイド を参照してください。