« 既存エントリーに更新マークをつけて新情報を明記 | メイン | カスタマイズ難易度マークを目安にどうぞ »

TOP> MTのプラグイン活用

アーカイブページを静的ページで分割するプラグイン

MTのエントリー数が多くなってくると、各アーカイブページは長いページになってくる。

簡易方法として、以前紹介した「最新のエントリーとそれ以降のフォーマットを変える方法」のように過去のページに関しては、タイトルのみ(その他適宜表示をカスタマイズ)を表示して、テキスト数を減らして表示する方法がある。

またページを分割するプラグイン「MTPaginate」を利用する方法がある。
しかし、このプラグインは、ページをダイナミックページ機能(動的ページ、”.php")で出力するため、ちょっと躊躇していた。
またphpが使えないサーバでは利用できない(MT対応サーバでphpを使えないところはもうないと思うが・・・)

上記の問題を解決してくれるプラグイン、lab.fancs.comさんのプラグイン「ArchivePage」は、

「静的なHTMLページで画面分割できてページ送り機能が使えれば問題は解決できるのでは?? 」

ということで提供されている。

早速、ダウンロードし設定。

  1. ダウンロード、解凍すると「ArchivePage」のフォルダが作成される。
  2. 「ArchivePage」のフォルダごと、MTのpluginsフォルダにアップロード
  3. ページ分割したいテンプレートに、サンプルHTMLを参考に追加する。
  4. 管理画面の「設定」-「プラグイン」の一覧に「ArchivePage」が表示
  5. 「設定を表示」をクリックすると、各アーカイブページに表示したいエントリー数を設定できる。 分割したくない場合は、「0」を入力する。
  6. 再構築すると、出来上がり。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エントリー毎にページが生成される。

導入・設定レベル : [3]  難易度レベル3

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)