カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグインβ版(その4)

「カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグイン」の第4回目として、並び順どおりにカテゴリ/フォルダ/ブログ記事/ウェブページを出力するテンプレートタグ等を解説します。

1.MTSortedEntriesタグ

ブログ記事を並び順に沿って出力するには、「MTSortedEntries」というブロックタグを使います。
このタグは、以下のようにブログ記事を出力します。

条件 出力されるブログ記事
  • MTCategoriesタグ/MTSubCategories/MTTopLevelCategoriesタグ等のブロックの中で使った場合
  • カテゴリアーカイブの中で使った場合
個々のカテゴリに属するブログ記事を並び順に出力します。
  • 上記以外の場合
  • 上記の条件を満たしていても、「root="1"」のモディファイアを指定した場合
どのカテゴリにも属さない記事を並び順に出力します。

また、MTSortedEntriesタグでは、lastnモディファイアを使って、出力する記事の数を制限することもできます。
このモディファイアを指定しない場合は、ブログ記事設定(ブログのメニューの「設定」→「ブログ記事」)の「ブログ記事の表示数」で指定した数の記事が出力されます。
また、「lastn="all"」とすると、すべての記事を出力することができます。

MTSortedEntriesタグのブロックの中では、MTEntry系のタグを使って、ブログ記事の情報を出力することができます。

2.MTSortedPagesタグ

MTSortedEntriesタグのウェブページ版です。
MTSortedEntriesタグの説明を、以下のように読み替えた動作をします。

読み替え前読み替え後
カテゴリフォルダ
ブログ記事ウェブページ
CategoriesFolders
EntriesPages
EntryPage

3.カテゴリ/フォルダの並べ替え用のテンプレートタグとsort_methodモディファイア

カテゴリとフォルダを並べ替えて出力するには、Movable Typeの標準のテンプレートタグを、それぞれ以下のように置き換えます。

Movable Typeの標準のタグ対応するSuperSortプラグインのタグ
MTTopLevelCategoriesMTSortedTopLevelCategories
MTSubCategoriesMTSortedSubCategories
MTTopLevelFoldersMTSortedTopLevelFolders
MTSubFoldersMTSortedSubFolders

なお、SortCatFldプラグインと同様に、MTSubCategories/MTTopLevelCategories/MTSubFolders/MTTopLevelFoldersタグに「sort_method="SortCatFld::Sort"」のモディファイアを付加することもできます。
ただし、Movable Type 5.1の最初のバージョンでは、sort_methodモディファイアに不具合があります。
特に事情がない限りは、MTSortedTopLevelCategories等のタグをお使いください。

4.例

以下の例は、ブログ内のすべての記事を、並び順のとおりに出力するものです。
インデックステンプレートを作成して以下の例を入力すると、動作を試すことができます。

<MTIgnore>カテゴリに属さないブログ記事を並び順のとおりに出力</MTIgnore>
<h1>カテゴリに属さないブログ記事</h1>
<ul>
<MTSortedEntries lastn="all">
  <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle></a>(<$MTEntryDate format="%x %X">)</li>
</MTSortedEntries>
</ul>

<MTIgnore>各カテゴリのブログ記事を並び順のとおりに出力</MTIgnore>
<MTSortedTopLevelCategories>
<h1><MTParentCategories glue=":"><$MTCategoryLabel$></MTParentCategories></h1>
<ul>
<MTSortedEntries lastn="all">
  <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle></a>(<$MTEntryDate format="%x %X">)</li>
</MTSortedEntries>
</ul>
<MTSubCatsRecurse>
</MTSortedTopLevelCategories>