MT4 のブロックタグ内で使える変数
ブログの記事一覧を表示する時に最新の記事だけは違う表示にしたい!って時に一番使えるんですよね。
今回は一通り説明したいと思います。
Movable Type 4では、ブロックタグ(従来の呼び方ではコンテナタグ)の中で、「__first__」「__last__」「__even__」「__odd__」「__counter__」の各変数を使うことができるようになっているので、この変数を使います。

定義される変数
ブロックタグの内部では、以下の変数が定義されます。
※変数名の前後にある「__」は、アンダースコア(_)2つつけるのを忘れないようにしましょう。
| 変数名 | 変数が取る値 |
| __first__ | 繰り返しの1回目なら1、それ以外なら0 |
| __last__ | 繰り返しの最後なら1、それ以外なら0 |
| __odd__ | 繰り返しの奇数回目なら1、それ以外なら0 |
| __even__ | 繰り返しの偶数回目なら1、それ以外なら0 |
| __counter__ | 現在の繰り返し回数 |
繰り返しの最初と最後を判断する
最初(または最後)だけ何か特別な処理をしたいことは、比較的よくあると思うんですが、その時に使うのが、「__first__」「__last__」です。
Movable Type 4では、変数の値が真(0や空文字列以外)かどうかを判断するタグとして、「MTIf」というタグが追加されているのですが、このタグを使うことで、以下のような書き方をすることができます。
<MTEntries>
<MTIf name="__first__">
繰り返しの1回目のときのみ出力する内容
</MTIf>
<MTIf name="__last__">
繰り返しの最後のときのみ出力する内容
</MTIf>
エントリー等の情報を出力する部分
</MTEntries>
.奇数件目と偶数件目で出力する内容を変える
__odd__(または__even__)の変数を使うと、エントリー等の一覧を表示する際に、奇数件目と偶数権目で出力する内容を変えることができます。
例えば、以下のようにすると、エントリー一覧を出力する際に、奇数件目と偶数件目とで、div要素にそれぞれ「odd」「even」のクラスを割り当てることができます。
これを利用すれば、「奇数件目と偶数件目で背景色を変える」といったことができます。
<MTEntries>
<div class="<MTIf name="__odd__">odd<MTElse>even</MTIf>">
エントリーの内容を出力する部分
</div>
</MTEntries>
繰り返し回数を出力する
__counter__変数を使うと、繰り返しの1回ごとに、現在の繰り返し回数を出力することができます。
エントリー等を一覧表示する際に、個々のエントリー等に番号を振りたい場合に、この変数がすごく便利なんですよね。
<p>
<MTEntries>
<$MTVar name="__counter__"$><$MTEntryTitle$><br />
</MTEntries>
</p>
今説明したやり方を使うとブログの記事一覧を表示する時にいろいろ変化もつけれるし、けっこう使えるので是非使ってみて下さい。