mtde.info

Movable Type Developers Express

エントリリストをファイル名で並べ替える

2008年3月18日 18:04 | Writer: apstar | 記事本文

エントリリストを、ファイル名で並べ替えるサンプルです。

一度全てのエントリをハッシュ変数へ代入しますが、このときのキーにファイルのベースネーム(MTEntryBaseNameテンプレートタグで取得)を利用して、後のMTLoopで並べ替えのキーに利用する仕組みです。

このコードは、属するカテゴリに関係なくエントリを時系列に表示すればいい場合には特に役には立ちませんが、カテゴリ名・エントリ名ともにあらかじめ連番を振り、将来の「ファイル名による並べ替え」に備えているような設計のサイトでは役に立ちます。

コード

現在のカテゴリに属するエントリをファイル名順に並べ替えています。

<MTSetVarBlock name="CurCat"><MTEntryCategory></MTSetVarBlock>
<MTEntries category="$CurCat" lastn="0">
   <MTSetVarBlock name="EntBaseName"><MTEntryBaseName></MTSetVarBlock>
   <MTSetVarBlock name="EntLinkSet"><li><a href="<MTEntryPermalink>"><MTEntryTitle></a></li></MTSetVarBlock>
   <MTSetHashVar name="EntInfo">
      <MTSetVar name="$EntBaseName" value="$EntLinkSet">
   </MTSetHashVar>
</MTEntries>
<ul>
<mt:loop  name="EntInfo" sort_by="key">
   <$mt:getvar name="__value__"$>
</mt:loop>
</ul>

エントリ関連サンプル

2008 mtde.info