Under the Bridge

a Picture of the Late Him

MT4.1:Forループ(基本形)

2008年1月 6日 12:34 | Writer: yoshi | 記事本文 | コメント(0) | トラックバック(0)

MT4.1(Movable Type4.1)では、Forループのテンプレートタグが追加された。この基本形を、配列を絡めた実用的なコードでテスト。配列の上限のインデックスを調べるtipsも含まれる。

テストコード


<MTSetVar name="chrData[0]" value="あいうえお">
<MTSetVar name="chrData[1]" value="かきくけこ">
<MTSetVar name="chrData[2]" value="さしすせそ">
<MTSetVar name="chrData[3]" value="たちつてと">
<MTSetVar name="chrData[4]" value="なにぬねの">
<MTSetVar name="chrData[5]" value="はひふへほ">

正ループ(MTFor)
<MTSetVarBlock name="chrN"><MTGetVar name="count(chrData)" op="-" value="1"></MTSetVarBlock>
<mt:for var="x" from="0" to="$chrN">
    <MTGetVar name="chrData[$x]">
</mt:for>

出力結果

あいうえお

かきくけこ

さしすせそ

たちつてと

なにぬねの

はひふへほ

解説

1~6行目:chrData[]配列データを準備する。

9行目:配列の大きさを取得する。MTSetVarBlockでchrNという変数を定義、これに配列の大きさをMTGetVar name="count(chrData)" op="-" value="1"で取得してぶち込む。データの数は6だが、配列のインデックスは0から5までを使用しているので、count関数でデータ数6を取得した後opモデファイアに減算"-"を指定、減算する値をvalue="1"と指定して、配列の上限インデックスである5を取得している。StrVarとGetVarの入れ子である。

10行目:Forループの開始。toには9行目で調べた、配列の大きさが格納されている変数をドルマークつきで記述する。この例の場合はForループの場合はここがキメウチとなると、間違ったときが怖い。

11行目:結果を出力。

トラックバック(0)

このブログ記事を参照しているブログ一覧: MT4.1:Forループ(基本形)

このブログ記事に対するトラックバックURL:

コメントする






Categories
Entries
Feed
スポンサードリンク

parts

フィードメーター - Under the Bridge

あわせて読みたい

なかのひと

2008年4月5日開催、MT4LP5

2008 yoshi(apstar)