読者です 読者をやめる 読者になる 読者になる

MovableType を MTPaginate でページ分割

そんな訳で。日付別やカテゴリ別が膨大なエントリ数になってしまう前に MovableType でページング出来る様にしましょう。もはや色々なトコロで語られているので簡単に説明します。まず MovableTypePHP化しているコトが前提。で。カテゴリ名に日本語を使っている場合は管理画面の「公開」「アーカイブ・マッピング」「出力フォーマット」のカテゴリーアーカイブ名をカテゴリIDにする為に

cat_< $MTCategoryID$>.php

と設定。カテゴリ名が重複しない様に設定します。で。MT Extensions から MTPaginate をダウンロード。解凍した MTPaginate.pl を pluginsディレクトリにアップロード。アーカイブのテンプレートの MTEntriesタグの前後に以下の部分を追加。

カテゴリー・アーカイブ

前略
<mtpaginate>
<mtpaginatecontent max_sections="10">
<mtentries>
中略
< $MTPaginateSectionBreak$>
</mtentries>
</mtpaginatecontent>
<mtpaginateifmultiplepages>
<div class="paginate">
<mtpaginateifpreviouspage_>
<a href="<$MTPaginatePreviousPageLink$>"><</a>
</mtpaginateifpreviouspage_>
< $MTPaginateNavigator style="links" format_all="All" place_all="after" separator=" | ">
<mtpaginateifnextpage_>
<a href="<$MTPaginateNextPageLink$>">></a>
</mtpaginateifnextpage_>
</div>
</mtpaginateifmultiplepages>
</mtpaginate>
後略

日付アーカイブの場合

前略
<mtpaginate>
<mtpaginatecontent max_sections="10">
<mtentries>
中略
< $MTPaginateSectionBreak$>
</mtentries>
</mtpaginatecontent>
<mtpaginateifmultiplepages>
<div class="paginate">
<mtpaginateifpreviouspage_>
<a href="<$MTPaginatePreviousPageLink$>"><</a>
</mtpaginateifpreviouspage_>
< $MTPaginateNavigator style="links" format_all="All" place_all="after" separator=" | ">
<mtpaginateifnextpage_>
<a href="<$MTPaginateNextPageLink$>">></a>
</mtpaginateifnextpage_>
</div>
</mtpaginateifmultiplepages>
</mtpaginate>
後略

max_sections の部分は1ページに何エントリー表示するかの指定です。後は CSS で class="paginate" の部分に適当なスタイルシートを当てて完成。