• 更新:
  • 投稿:
  • カテゴリィ:

Movable Type でも、はてなダイアリーの「前の○日分」みたいにダラダラと過去ログを読むことが出来ないかな、と以前から思っていた。そして、答えが判った。

以前から、カテゴリーのページが長くなってきたので、 MTPaginate というプラグインを使ってきた。他のサイトでもカテゴリーページに使っているので、てっきりカテゴリーのページにしか使えないと思っていたら、どのページでも使えることが判った。サンプルのページを見ると判るけど、なんと、Individual Entry(個別のエントリー)のページでも使用できる。

作業内容

インストール

MT Extensions: MTPaginate 1.24 から ZIP ファイルをダウンロード・解凍し、Plugin ディレクトリにアップロードする。

Main Index テンプレートを変更

<MTEntries> の直前に、以下を追加。

<MTPaginate>

<MTPaginateIfMultiplePages>
<div class="multiplepages">
<MTPaginateIfLastPage_>
<a href="<$MTPaginatePreviousPageLink$>" target="_self" title="前のページ">≪</a>
</MTPaginateIfLastPage_>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginatePreviousPageLink$>" target="_self" title="前のページ">≪</a>
</MTPaginateIfMiddlePage_>
<$MTPaginateNavigator format_all="全部読む " place_all="after" separator="| " target="_self">
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginateNextPageLink$>" target="_self" title="次のページ">≫</a>
</MTPaginateIfMiddlePage_>
<MTPaginateIfFirstPage_>
<a href="<$MTPaginateNextPageLink$>" target="_self" title="次のページ">≫</a>
</MTPaginateIfFirstPage_>
</div>
</MTPaginateIfMultiplePages>

<MTPaginateContent max_bytes="20000"><!-- ページの分割方法 -->

</MTEntries> を以下に変更

<$MTPaginateSectionBreak$>

</MTEntries>

</MTPaginateContent>
</MTPaginate>

ページの分割方法

自分のサイトでは、ページの分割方法を「20000Byte ごと」にしているけど、分割方法はいろいろと選べる。文字数や特定のタグ(<p> など)が一定値以上になると分割することができる。他にも分割方法はあるので、分割方法の一覧をどうぞ。

このサイトのコンセプトのひとつが「Movable Type のカスタマイズ」なのを思い出してエントリーした、というオチ。落ちてないけど。

参考ページ

[2] このページの一番上へ戻る