PageButeプラグインによるページネーションを導入しました。
いろいろな方法があるなかでPageButeプラグインを選んだのは,次の理由からです。
- 静的なままでページネーションを実現できる
- プラグインのメンテナンスが最近まで続いている
- 日本語による解説が充実している
PageButeプラグインは以下のページから入手できます。
静的ページ用ページ分割プラグイン:PageBute | エンジニアブログ - スカイアーク
導入はプラグインディレクトリにアップロード後,分割したいページのテンプレート(メインページ,カテゴリ別ブログ記事リスト,月別ブログ記事リストなど)を編集して行います。編集の仕方は次の記事を参考にしました。
1.<mt:Entries>を<mt:PageContents>で囲む
<mt:Entries>~</mt:Entries>を<mt:PageContents>~</mt:PageContents>で囲みます。
<mt:PageContents>のcountオプションで何件の記事ごとに区切るか指定します。
区切りは<mt:PageContents>のほうで指定するので<mt:Entries>ではlimitオプションは指定しません。
2.<mt:PageSeparator />タグで分割位置を指定
<mt:PageContents>~</mt:PageContents>の間に<mt:PageSeparator />を記述してページの分割位置を指定します。
記事ごとに区切ることがほとんどだと思いますので</mt:Entries>の直前に記述すればよいでしょう。
3.ページ移動のためのリンクを作成
<mt:PageLists />,<$mt:PageBefore$>,<mt:IfPageBefore>,<$mt:PageNext$>,<mt:IfPageNext>でページ移動用のリンクを作成します。
実際のコードは次のようになります。
指定件数ごとに記事を分割
<mt:PageContents count="5"><mt:Entries>
...
<mt:PageSeparator />
</mt:PageContents>
</mt:Entries>
前後のページへのナビゲーション
<mt:IfPageBefore><span><$mt:PageBefore delim="<"$></span></mt:IfPageBefore> <mt:PageLists /> <mt:IfPageNext>
<span><$mt:PageNext delim=">"$></span></mt:IfPageNext>