2007-04-04

Paged archives plug-in

本体のブログの方のアーカイブが増えたので、デザインを一新したのを機に、アーカイブ分割のplug inを入れてみる。
phpをベースにしたものが主流みたいだけれど、よくわからないものには手を出さず、htmlベースで動くものを物色。
そうすると、国産のArchivePageと外国産のPaged Archives Plugin(以前はpaged categories plug-inと呼ばれていたもの)の2つが見つかる。

まずは、日本語ベースのものを試してみると割とあっけなく出来上がった。
参考にしたのは、Movable TypeのアーカイブをHTMLページのまま分割するというページ。
まさにこのとおりにやればとりあえずはできあがり。
ただ次の点に問題が。。。
・分割されたページの何ページ目にいるのかわからない。。
・セパレーターを指定できないバグ
2番目の方は、ArchivePage 0.0.2でセパレーターを指定できないバグに書かれているとおりにArchivePage.plファイルの241行目を修正することで対応可能だったが、1番目の解決方法がわからない。。

そこで、今度は外国産を試してみる。
参考にしたのは、既に消えてしまっていてGoogleのキャッシュに残っていた「Apres Un Reve: Movable Type Customize」の「HTMLでカテゴリーアーカイブのページ分割を行う『Paged Categories Plugin』」とPHP化せずにアーカイブページを分割する方法というページ。

消えてしまった記事を引用。

『Paged Categories Plugin』は、MT3.3に向けに開発されたため、3.2では動作しますが、それ以前のバージョンでは動作しないようです。また、カテゴリーを削除してもアーカイブページが削除されないとか、カテゴリー再構築に影響を及ぼすプラグインと併用できないなどのバグが確認されていますが、充分実用に耐えるプラグインです。

プラグインはzipとtar.gzの2種類で提供されています。一般的なWindowsユーザーはzipをダウンロードしましょう。インストール方法は、解凍してできた「pagedcategories.pl」を、MTをインストールしたディレクトリにある「plugins」にFTPでアップロードします。



インストール後の作業

インストール後、カテゴリーアーカイブをページ分割するには次の3つの作業をします。

との2つのタグを、カテゴリーアーカイブテンプレートに追加します。詳しい追加場所は下の解説を見てください。

ページ移動しやすいようにナビゲーション用のタグを追加します。

各ブログの[設定]から『Paged Categories Plugin』の設定をして、何エントリー数ごとにページ分割するかを決めます。

1.カテゴリーアーカイブ・テンプレートの修正

分割ページは、カテゴリーアーカイブ・テンプレートを元に生成されます。テンプレートの~付近へ、ページ分割の判別用タグを挿入します。このタグによってエントリー数がカウントされ、はみ出た部分が次のページに回されるという訳です。

具体的なタグの挿入箇所は以下です。の内側ではないことにご注意ください!











~内容~














2.ナビゲーション用のタグを追加

カテゴリーアーカイブをページ分割しても、次のページへ移動するためのナビゲーションが無いと続きを見ることができません。そこで、ナビゲーション用の表示を追加しましょう。これらは、条件タグで囲むことにより、ページ分割がされる場合のみ表示されます。



表示されるナビゲーションは、次の2種類があります。

・現在のページ番号と全ページ数

・前後のページへのリンク

・ページのリスト

たとえば、「« 前のページ | 2ページ目/全8ページ | 次のページ »」という風にナビゲーションを表示したい場合、次のような記述例が考えられます。











ページが複数枚にわたる場合など、「1 2 3 4 5 6 7 8」という具合にページ一覧を表示したいかもしれません。その場合は、次のような記述例が考えられます。











3.『Paged Categories Plugin』の設定

各ブログのサイドメニューから[設定]→[プラグイン]と移動し、『Paged Categories Plugin』の設定をします。プラグインが一覧表示されるので、その中から『Paged Categories Plugin』を探し、[設定を表示]をクリックします。すると、「Entries per page」という入力フィールドが現れますので、何エントリーでページを分割するか、任意の数字を入力して[変更を保存]をクリックしてください。



これが終われば作業は終了です。あとは、カテゴリーアーカイブを再構築してください。

タグリファレンス

変数タグであっても$がつかないことにご注意ください。

●必要なタグ

『Paged Categories Plugin』を使うために必ず必要なタグです。



の直後に配置します。



の直後に配置します。



●条件タグ



ページ分割がなされた場合に実行される条件タグです。ディスプレイ・タグとナビゲーション・タグはこの条件タグの内部に記述します。



●ディスプレイ・タグ

ページ数に関する情報を表示するのに使うタグです。



ページ番号を示す数字に置き換わります。



全ページ数を示す数字に置き換わります。

たとえば「ページ目/全ページ」とタグを書くと、実際の表示は「2ページ目/全8ページ」のようになります。



●ナビゲーション・タグ

次ページへのリンクなど、ナビゲーションを表示するのに使うタグです。



他のページすべてへのリンクを作成します。たとえばページが全6ページに分割されている場合、は「1 2 3 4 5 6」といった具合になります。



は次のページへのリンクを、は前のページへのリンクを作成します。次のアトリビュートを加えることで、表示をカスタマイズできます。

text="テキスト"

リンクに表示するテキストを指定します。デフォルトではが>>、が「<<」です。

show="N"

Nには1か0を入力します。1の場合、次のページが無い場合にはテキストを表示しません。0の場合、リンクなしのテキストを表示します。デフォルトは0です。


ここで注意が必要なのが、引用記事の時点と今ではタグが変更されているということ。
PHP化せずにアーカイブページを分割する方法を参考に修正しながら試してみる。

上手くいきました。。

0 件のコメント:

コメントを投稿