MTのエントリー数が多くなってくると、各アーカイブページは長いページになってくる。
簡易方法として、以前紹介した「最新のエントリーとそれ以降のフォーマットを変える方法」のように過去のページに関しては、タイトルのみ(その他適宜表示をカスタマイズ)を表示して、テキスト数を減らして表示する方法がある。
またページを分割するプラグイン「MTPaginate」を利用する方法がある。
しかし、このプラグインは、ページをダイナミックページ機能(動的ページ、”.php")で出力するため、ちょっと躊躇していた。
またphpが使えないサーバでは利用できない(MT対応サーバでphpを使えないところはもうないと思うが・・・)
上記の問題を解決してくれるプラグイン、lab.fancs.comさんのプラグイン「ArchivePage」は、
「静的なHTMLページで画面分割できてページ送り機能が使えれば問題は解決できるのでは?? 」
ということで提供されている。
早速、ダウンロードし設定。
- ダウンロード、解凍すると「ArchivePage」のフォルダが作成される。
- 「ArchivePage」のフォルダごと、MTのpluginsフォルダにアップロード
- ページ分割したいテンプレートに、サンプルHTMLを参考に追加する。
- 管理画面の「設定」-「プラグイン」の一覧に「ArchivePage」が表示
- 「設定を表示」をクリックすると、各アーカイブページに表示したいエントリー数を設定できる。 分割したくない場合は、「0」を入力する。
- 再構築すると、出来上がり。index.html、index_1.html、index_2.html・・・とページが生成される。
ページ送りをするタグ「MTArchivePager」で、分割されたページが表示される。
このタグのみを指定すると、ページの区切りは半角カンマで表示される。
[ 1,2,3,4] ← 4ページある場合
この区切り文字を変更したい場合、「separator="区切り文字"」をタグに追加するが、設定してもデフォルトのままになる。
検索すると回避方法も紹介されているが、私は、以下の方法で変更を行った。(改変については、責任をもてませんので自己責任でお願いします)
ArchivePage.pl の 240行あたり
変更前
$res .= ',' if $res;
変更後
$res .= $separator if $res;
とすることで、区切り文字を好きな文字に変更することができる。
なお設定したページは、カテゴリアーカイブ。5エントリー毎にページが生成される。