mtde.info

Movable Type Developers Express

プラグインを使用しないカテゴリ並べ替え

2008年2月 3日 21:42 | Writer: apstar | 記事本文

カテゴリ並べ替えに関するプラグインを使用すれば手軽にカテゴリ並べ替えができますが、このサンプルではプラグインを用いずにカテゴリ並べ替えを行っています。

Movable Typeでは、カテゴリを生成した順にIDが付与されますが、計画的に設計されたサイトであればIDは昇順に並んでいるはずです。そのカテゴリIDをゼロ埋めして(あとで文字列評価並べ替えを行う)キーに、カテゴリ名を値にしたハッシュを生成し、MTLoopループのsort_by="key"モデファイアで文字列順に並べ替えを行っています。

sort_by="key"は文字列評価を行うため、カテゴリIDをゼロ埋めしないと、IDの桁が変わる際に予期しない並びとなります。

このサンプルでは、エントリのないカテゴリは表示されません。サブカテゴリは考慮していません。

コード

<MTCategories>
   <MTSetvarBlock name="keyvalue"><$MTCategoryID zero_pad="4"$></MTSetvarBlock>
   <MTSetvarBlock name="ShowCategory" key="$keyvalue"><$MTCategoryLabel$></MTSetvarBlock>
</MTCategories>

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

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

0034 Movable Type 4とは

0035 CORESERVERでの導入例

0036 MT4のインストール

0037 インストール後の設定

0038 MT3サイトをMT4へ移行(新規)

0039 MT3サイトをMT4へ移行(上書き)

0040 トラブル集

0041 環境設定

0042 変数

0043 SetVar系

0044 GetVar系

0045 If系

0046 For系

0047 Loop系

0048 共通モデファイア系

0049 Tips系

0050 カテゴリ関連サンプル

0051 エントリ関連サンプル

0052 フォルダ関連サンプル

0053 ウェブページ関連サンプル

0054 アイテム関連サンプル

0055 タグ関連サンプル

0056 ユーザー関連サンプル

0057 コメント関連サンプル

0058 トラックバック関連サンプル

0059 Feed関連サンプル

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

0061 カスタムフィールド関連サンプル

0062 テンプレートの作成例

0063 Windows版XAMPPのセットアップ

0064 テンプレート解説

0065 XHTML文書の作成

0066 CSSを適用する

0067 その他のサンプル

0069 ナビゲーション関連サンプル

カテゴリ関連サンプル

2008 mtde.info