MovableType を MTPaginate でページ分割
そんな訳で。日付別やカテゴリ別が膨大なエントリ数になってしまう前に MovableType でページング出来る様にしましょう。もはや色々なトコロで語られているので簡単に説明します。まず MovableType を PHP化しているコトが前提。で。カテゴリ名に日本語を使っている場合は管理画面の「公開」「アーカイブ・マッピング」「出力フォーマット」のカテゴリーアーカイブ名をカテゴリ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" の部分に適当なスタイルシートを当てて完成。