ふと、Movable Type でインデックスページをページネートしたいなと思い、実践してみました。MTPaginate というプラグインを使って、ページネーションを行います。MTPaginateは、個人は無償ですが、商用利用の場合は20ドルかかります。
MTPaginate のインストール
MTPaginateをダウンロードしてきて、pluginフォルダの中身をMTのpluginフォルダに、mt-static/pluginsフォルダの中身をMTのmt-static/pluginsフォルダにそれぞれアップロードします。
phpファイルの生成
phpでないと動作しないので、phpファイルのインデックステンプレートを生成します。「インデックスページ」の中身を丸ごとコピーして、新たに「インデックスページ(ページネート)」というテンプレートを作成しました。ファイル名は「index.php」。インデックスページをそのまま利用しても良かったのですが、この方が何か問題が起きたときに後戻りしやすそうだったので。
そして、さくらのレンタルサーバーはファイルのパーミッションが705か755でないとphpを利用できないので、mt-config.cgiにHTMLPerm 0755 と追記。
ページネーション部分のタグを記述
エントリーの生成部分を下記のように変更。max_sectionsで1ページあたりのエントリー数を指定して、ページネートするエントリーの件数はMTEntriesで100件に指定。
1 | <MTPaginate> |
CSSの追加
CSSはこんな感じのを追加しました(そのうち変更するかもしれません)。
1 | /* pagenate */ |
index.html の撤収
FTPにてindex.htmlファイルを削除して、index.htmlが再構築されないように「インデックスページ」の「再構築オプション」のチェックをオフにして保存。index.htmlでアクセスがあった場合に、index.phpにリダイレクトするように.htaccessを指定(詳細は省略)。
以上です。作業内容はこれだけなのですが、ローカルで試したりしているうちにあっというまに時間がすぎていきました。ページングのもっと賢いやり方があれば、ぜひ教えてください。