スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MTで記事の一覧画面にページングを設定してみる

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 でページの繰り返し処理ができるようですが、これでできたりするんでしょうか。もう少し調べてみる必要がありそう。(参考サイトメモ

あと、ページングの他に、ページ送りとかページネーションて言ったりもしますね。ページ分割がわかりやすいかな。

新しい記事

ピックアップ

Related Posts Plugin for WordPress, Blogger...
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。