スポンサーサイト
コメント
MTで記事の一覧画面にページングを設定してみる
MTで記事の一覧を全件表示する際に、数が多くなった場合を考慮してページングを設定すると便利です。デフォルトでタグがあってもよさそうな機能ですが、プラグインを使って設定してみました。

使ってみたプラグインは「PageBute」。
Step1 プラグインのダウンロード
まずは下記より、PageButeのプラグインをダウンロードします。
「静的ページ用ページ分割プラグイン:PageBute」
Step2 インストール
ダウンロードしたデータを解凍し、PageBute.plをフォルダごと /MT本体/plugins/ にアップします。インストールはこれだけ。
Step3 ページングを設定
次に、ページングを設定したいテンプレートにタグを追記します。例えば、記事の一覧ページが下記のように記述されているとすると、
<mt:Entries>
<dl>
<dt><mt:EntryDate format="%Y/%m/%d" /></dt>
<dd><mt:EntryTitle /></dd>
</dl>
</mt:Entries>
このようにページング用のタグを追記。
<MTPageContents count="10">
<mt:Entries>
<dl>
<dt><mt:EntryDate format="%Y/%m/%d" /></dt>
<dd><mt:EntryTitle /></dd>
</dl>
<$MTPageSeparator$>
</mt:Entries>
</MTPageContents>
<div id="pagenation">
<MTIfPageBefore>
<span><$MTPageBefore delim="前へ"$></span>
</MTIfPageBefore>
<$MTPageLists show_always="0"$>
<MTIfPageNext>
<span><$MTPageNext delim="次へ"$></span>
</MTIfPageNext>
</div>
記事の一覧をページング用のタグ(MTPageContents)で囲い、ページ番号(MTPageLists)や次ページ(MTPageNext)などの設定しています。タグの詳細についてはこちら。
これで再構築すると一覧ページにページングが表示されます(動的にパラメータを受け渡しているわけではなく、静的なHTMLをページ数分作成しているようです)。
注意点と気になる点
ここで注意すべきことがひとつ。ブログの投稿設定で、表示される記事数を「0」にしておきます。これが5件とか10件とかに設定されていると、記事数がそれ以上ある場合に正常にページ分割がされないようです。もう一点気になるとすれば、記事数が少なく1ページで収まる場合に、デフォルトだとページ番号1が表示されてしまいます。これは、MTPageListsタグのオプションで show_always="0" と設定すれば解決。1ページしかないときはページ番号が表示されなくなります。
設定や注意点については「使い勝手向上委員会 Movable Type 4 でページ分割したい - Style ?Custom Plan?」を参考にさせていただきました。こちらの記事では、テンプレートモジュールとして設定して管理しやすいようにされていますね。
それにしても、なんでデフォルトで設定されていないんでしょうね。検索結果の画面では PagerBlock でページの繰り返し処理ができるようですが、これでできたりするんでしょうか。もう少し調べてみる必要がありそう。(参考サイトメモ)
あと、ページングの他に、ページ送りとかページネーションて言ったりもしますね。ページ分割がわかりやすいかな。

