mtde.info

Movable Type Developers Express

zero_padモデファイア(数字0埋め)

2008年2月17日 16:17 | Writer: apstar | 記事本文

zero_padモデファイアは、出力結果が全体でN文字になるように余白を0で埋めて出力します。

エントリやカテゴリやアイテムのID番号を調べて並べ替えなどを行う場合に、IDをそのまま文字列として扱うと並び順がおかしくなります。余白をゼロ埋めして正しく並べなおすときなどに用います。

サンプルコードでは全カテゴリのIDを準備し、これの余白をゼロで埋めない場合と、全体で4文字となるようゼロで埋めた場合の出力結果を比較します。

サンプルコード

<p>IDをゼロ埋めしない場合</p>
<MTCategories>
   <MTSetvarBlock name="keyvalue"><$MTCategoryID$></MTSetvarBlock>
   <MTSetvarBlock name="ShowCategory" key="$keyvalue"><$MTCategoryLabel$></MTSetvarBlock>
</MTCategories>

<ul>
<MTLoop name="ShowCategory" sort_by="key">
   <li><$mt:getvar name="__key__"$> <$mt:getvar name="__value__"$></li>
</MTLoop>
</ul>

<!-- いちど初期化 -->
<MTSetvar name="ShowCategory" value="">

<p>IDをゼロ埋めすると正しい順序で並ぶ</p>
<MTCategories>
   <MTSetvarBlock name="keyvalue"><$MTCategoryID zero_pad="4"$></MTSetvarBlock>
   <MTSetvarBlock name="ShowCategory" key="$keyvalue"><$MTCategoryLabel$></MTSetvarBlock>
</MTCategories>

<ul>
<MTLoop name="ShowCategory" sort_by="key">
   <li><$mt:getvar name="__key__"$> <$mt:getvar name="__value__"$></li>
</MTLoop>
</ul>

このエントリにサンプルコードを貼った動作サンプル

IDをゼロ埋めしない場合

IDをゼロ埋めすると正しい順序で並ぶ

グローバル・モデファイア関連サンプル

2008 mtde.info