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


