<<夏カレー二日目 | TOPへもどる | 麻婆茄子 >>

20050808 0318: [MT]カテゴリーページの分割

このブログはmixiからは主に日記カテゴリーだけを見るような感じに設定しているのですが、意外に毎日書いちゃっているので(日記だから当然だが)どんどんのびて、1月で30件を超えました。

サーバーはレンタルなのですが、どうやらたまにめっさ重くなるんですよね。で、これ以上読み込みする記事数が多くなると、かなりいけてないなあと思い、やっとこさカテゴリページの記事数でのページ分割をやりました。

参考にしたところは
MTのPHP化とページ分割 (CROSSBREED クロスブリード!)

使ったプラグインは
MTPaginate 1.24

基本的なやり方はCROSSBREEDさんのところを参考にしていただくとして。

私の場合、サイドバーにそのカテゴリのエントリ一覧を出していたので、それも分割してやらないといけなかったので、それもついでに。

ちなみに <MTPaginate> タグの中には <MTPaginateContent> タグは1つしか入れられないらしいです。

というわけで、サイドバーの部分のソースだけ晒しておきます。

<MTPaginate>

<ul>
<MTPaginateContent max_sections="10">
<MTEntries>
<li><a href="#a<$MTEntryID pad="1"$>"><MTEntryDate format="%y/%m/%d"> : <$MTEntryTitle$></a></li>

<$MTPaginateSectionBreak$>

</MTEntries>
</MTPaginateContent>
</ul>

<MTPaginateIfMultiplePages>
<div class="mpage">
<MTPaginateIfLastPage_><a href="<$MTPaginatePreviousPageLink$>">←</a></MTPaginateIfLastPage_>
<MTPaginateIfFirstPage_><a href="<$MTPaginateNextPageLink$>">→</a></MTPaginateIfFirstPage_>
<MTPaginateIfMiddlePage_><a href="<$MTPaginatePreviousPageLink$>">←</a> | <a href="<$MTPaginateNextPageLink$>">→</a> | </MTPaginateIfMiddlePage_>
<$MTPaginateNavigator format_all="全部読む " placement_all="after" separator=" | "></div>
</MTPaginateIfMultiplePages>

</MTPaginate>

上のソースだとこのプラグインのタグの意味がよくわかるかも。。。
<$MTPaginateSectionBreak$> を「ここで切っておくんなまし」のところに入れるのをお忘れなきよう。(それを忘れてうまく動作せず、30分悩んだのは私)

当たり前ですが、サイドバーにも使う場合、<MTPaginateContent max_sections="10">の数字は、本文とあわせないと整合性がとれなくなりますので注意。

2005年08月08日 03:18

この記事のURL

この記事へのトラックバックURL