linkerは「人と人」「人と情報」「人と物」をつなぐデザインユニットです。

Movable Typeでsprintfモディファイアをつかって整数をとりだす

みなさん、こんにちは、まーしーです
本日より7/16まで夏休みを頂いて宮古島にきています。

MTでエントリー一覧を作る場合に、下記のようなソースを作りたい場合どうします?

<ul>
<li class="group0">list01</li>
<li class="group0">list02</li>
<li class="group1">list03</li>
<li class="group1">list04</li>
</ul>

色々作り方はあるかもしれませんが、その例の1つとしてsprintfモディファイアを使う方法を紹介します。

sprintf | グローバル・モディファイアリファレンス
http://www.movabletype.jp/documentation/appendices/modifiers/sprintf.html

サンプルはこのようなMTテンプレートになるかと思います。

<mt:SetVar name="entcount" value="0" />
<ul>
<mt:Entries>
<li class="group<mt:GetVar name="entcount" op="/" value="2" sprintf="%d" />"><mt:EntryTitle /></li>
<mt:SetVar name="entcount" op="++" />
</mt:Entries>
</ul>

entcountという変数を設定して、初期値を0にしておきます。MTEntries内で各エントリーを表示する際にentcountを2で割った値を整数にして返します

sprintfのdは整数値(10進法)をかえします。他の型指定のサンプルはこちら。

フォーマット(書式整形)関数(sprintf) / 【超初心者のホームページ作成】
http://beginners.atompro.net/faqphp_sprintf.shtml

似たような例として偶数奇数は__odd__、__even__をつかえば問題ないかと思います。

場合によってどのように設定するのがちがうのでそのあたりはカスタマイズしながら使うことになるかと思いますが、何かの参考になれば幸いです。