CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

MovableTypeはデフォルトでページ分割ができません。
例えば、記事数が100を超えたため、トップやアーカイブなどの記事リストページを10記事ずつに分割しページング処理を行いたいといった場合があります。しかし、MovableType本体だけではページを分割し、以下のようなリンクを生成するのは困難です。

「<>」

ほとんど必須の機能なので、いつになったらMTにデフォルトの機能として組み込まれるのかと前々から思っていたのですが、未だ実装されていません。

さて、そのような時はプラグイン「PageBute」が便利です。
静的ページ用ページ分割プラグイン:PageBute

PageButeをインストール

インストール方法は簡単です。上記ページにもあるようにダウンロードしたファイル「PageBute.pl」をMTのプラグインフォルダにアップロードするだけです。
後は、MTのシステム管理画面よりPageButeが有効になっているか確認します。

ページを分割する

例えば、アーカイブで記事リストを出力する際にはMTタグ「MTEntries」を使います。

<MTEntries>
(記事のタイトル、概要、リンク等)
</MTEntries>

この部分にPageButeのタグを追加することでページを分割できます。

<MTPageContents count="10">
<MTEntries>
(記事のタイトル、概要、リンク等)
</MTEntries>
<$MTPageSeparator$>
</MTPageContents>

MTEntriesタグをMTPageContentsタグで囲みます。その時、1ページあたりの記事数をcountで設定します。そして、ページを分割する位置にMTPageSeparatorを設置します。

ページリンクを表示する

ページリンクはMTPageListsを追記するだけで、冒頭でもあげたテキスト数字のリンクが表示されます。また、MTIfPageBeforeを記述すればリンク「<<」を表示します。同じく次のページにはMTIfPageNextを使用します。

<MTIfPageBefore><$MTPageBefore$></MTIfPageBefore>
<$MTPageLists$>
<MTIfPageNext><$MTPageNext$></MTIfPageNext>

表示形式はカスタマイズ可能です。詳細については本家サイトをご参考いただければと思います。

MovableTypeのページ分割プラグインは多くが公開されていますが、今のところこの「PageBute」が最もシンプルかつ機能性が良いと思います。
「PageBute」に限らず、このような優秀なプラグインがMTの公式コミュニティで検索にヒットしないのだから、MTの世界ってどうなってるの?と思いますよね。

このエントリーをはてなブックマークに追加

Comment

Monthly Archives

Search