2004年3月29日

カテゴリページ分割

MovableTypeではカテゴリごとのページが1ページしか作られないため、
中身の数が多ければ、ものすごく長いページになってしまう。
そこでページ分割を実現するプラグインを使うことになる。
(MTも標準装備にしてくれたらいいのに・・・)

【MovableTypeカスタマイズ】長くなりすぎたページを分割して表示する方法
↑ここが有名なのだけど、うちはMTCategoryIDを使ってるため少し違う。
それにカスタマイズの説明が少なく、結局本家サイトを見た方が早い。

カテゴリファイルの名前がすでに~.phpになってるなら変更の必要なし。
ダウンロードしたファイルを解凍、pluginsディレクトリに入れたら、
さっさとCategory Archiveのテンプレートに以下を付け加える。

<MTPaginate>

<MTPaginateIfMultiplePages>

<div class="pages">

<$MTPaginateNavigator format_all="ALL" place_all="after" format_current="&lt;b&gt;%d&lt;/b&gt;">

</div>

</MTPaginateIfMultiplePages>

<MTPaginateContent max_sections="5">


<MTEntries>

(・・・省略・・・)

<$MTPaginateSectionBreak$>

</MTEntries>

</MTPaginateContent>

</MTPaginate>


赤字部分が変更を加えた箇所。
場所はMTEntriesを目印にすると分かりやすいはず。
この変更ではうちのサイトのようなページナビゲーションになる。
(pagesというスタイルシートのクラスは別途定義する)

カスタマイズのポイントとしては、
MTPaginateContent max_sections="5" でページあたりの表示件数。
あとはMTPaginateNavigatorの属性で各種設定。

format_all="ALL" ←全表示用のラベル。「All Pages」などに変更可。
place_all="after" ←全表示ラベルを前後どちらに表示するか。前ならbefore。
format_current="&lt;b&gt;%d&lt;/b&gt;" ←現在ページ番号の装飾。
うちでは使ってないけど、こういうのもある。
separator="/" ←ページ番号間の区切り記号。指定しなければ「|」になる。

MT Extensions: MTPaginate 1.2.2
英語だけど、大して難しいことは書いてないから、読め(笑)
このプラグインでは他にも多くなったコメントのページ分割や、
記事の文字数によるページ分割も可能になっている。

0 コメント:

コメントを投稿