カテゴリアーカイブのページ分割


午前6時30分起床。浅草はくもり。

カテゴリーアーカイブのページ分割は、今までページのPHP化+MTPaginate/MTPaginate.plで行ってきたのだが、先日このサイトを置いているファーストサーバでPHPのバージョンアップ(4→5)があった際に、一時的に不具合が出たので、PHP化しなくともページ分割が可能なPageButeプラグインを使ってページ分割してみた。MTPaginateプラグインに比べて使い易いと思うし、機能的にも十分だと思う。

プラグインのダウンロード

PageBute:ダウンロード

プラグインのインストール

インストール方法:解凍後の「PageBute.pl」ファイルをMovable Typeの「plugins」ディレクトリにアップロードする。

記述例

このサイトでのテンプレートは以下の通り。

<MTPageContents count="5">
<MTEntries>
<div class="entry">
<h3 id="a<$MTEntryID pad="1"$>" title="<$MTEntryDate format="%x"$>"><a href="<$MTEntryLink$>"><$MTEntryTitle$></a></h3>
<$MTEntryBody$>
<p>...<a href="<$MTEntryPermalink valid_html="1"$>">全文を読む </a></p>

<p class="posted">投稿者: <$MTEntryAuthorDisplayName$> at <$MTEntryDate format="%Y年%m月%d日"X"$> | <a href="<$MTEntryPermalink valid_html="1"$>">個別記事</a>
<MTEntryIfAllowComments>
| <a href="<$MTEntryPermalink archive_type="Individual"$>#comments">コメント (<$MTEntryCommentCount$>)</a>
</MTEntryIfAllowComments>
<MTEntryIfAllowPings>
| <a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">トラックバック (<$MTEntryTrackbackCount$>)</a>
</MTEntryIfAllowPings></p></div>
<$MTPageSeparator$>
</MTEntries>
</MTPageContents>

<div id="pagemenu">
<MTIfPageBefore><span><$MTPageBefore delim="前の5件"$></span></MTIfPageBefore>
<$MTPageLists$>
<MTIfPageNext><span><$MTPageNext delim="次の5件"$></span></MTIfPageNext>
</div>

  • <MTPageContents count="5">~ </MTPageContents count>タグで区切りたい部分を囲む。
  • content="*"は<MTPageContents>タグのアトリビュート。*部分に任意の数字を入れることで区切るエントリー数を指定する。指定しない場合は10件で区切られる。
  • <$MTPageSeparator$>は<MTPageContents>~</MTPageContents>タグ内に記述し分割する位置を指定する。
  • 緑字の部分は分割ナビゲーションの表示。

CSS(当サイトのもの)

 /* ページ分割のリンク */
#pagemenu {
 font-size: 85%;
 text-align: center;
}

#pagemenu a {
  color: #6a100d;
}