アトトックラボ

2010年12月10日

MovableType でアーカイブページを分割する

Posted by Nobuyuki Sato

MovableType は標準ではアーカイブページを分割する機能がなぜだか装備されていない。

こんなによく使われている CMS なのになぜ・・・と嘆いてばかりもいられないので、MovableType の強みでもあるプラグインでサクっと解決したらいい。

今回ご紹介するのは PageBute という MovableType のアーカイブページ分割用プラグイン。

インストールは簡単。他の MovableType のプラグインと同様、PageBute.pl を MovableType の plugins ディレクトリに入れるだけで完了。

ただしここで注意点がひとつ。

このプラグイン、ブログ設定のプラグインの項目には表示されない。インストールされているか確認する時には焦らずに、システムのプラグインの項目をチェックしてみてください。インストールされていると表示されるはずです。

細かい設定方法については 公式ページ を参照していただくとして、ちょっとハマったところをひとつ。

<$MTPageSeparator$> を省略してしまうと、ただしくページが表示されません。<mt:Entries> の中に、<$MTPageSeparator$> を必ず設定してやらないといけないようです。

実際のソースの例は以下。

<ul id="entries">
	<MTPageContents count="10"><mt:Entries>
	<$mt:Include module="ブログ記事の概要"$>
	<$MTPageSeparator$>
	</mt:Entries></MTPageContents>
</ul>
<div class="content-nav"> <MTIfPageBefore> <span><$MTPageBefore delim="前の10件"$></span> </MTIfPageBefore> <$MTPageLists$> <MTIfPageNext> <span><$MTPageNext delim="次の10件"$></span> </MTIfPageNext> </div>

それから最後に。

このプラグインはカテゴリアーカイブや月別アーカイブではシステムに特別な設定を施さなくても動作しますが、メインページで使う場合にはブログの設定で、ブログ記事の表示数を [0] に設定してやらないといけません。

本来、このブログ記事の表示数を [0] に設定してやるのは、全ての記事をメインページに表示させるためなのですが・・・そうです。このプラグインの場合、全ての記事を表示させる = 全ての記事のアーカイブを静的ファイルで生成する、といった意味で解釈されるので問題ありません。

ただしこのプラグイン、静的ファイルで全てのアーカイブページを生成するので、エントリ数が増えれば増えるほど、再構築時には時間がかかってしまいます。その辺をご承知の上、使ってみてください。