カテゴリ機能を実現する

ページをカテゴリ分類する方法を紹介する。

まず、あるカテゴリに登録されたすべてのページへのリンクがリスト表示されるページを作成する。通常、このページの名前は、「:(カテゴリ名)」のように、「:」ではじまる。そして、メッセージ内に

#related

の一行を入れる。この部分がリストとなる。

このカテゴリにあるページを登録するには、そのページのメッセージ内に[[:(カテゴリ名)]]のような記述を入れて、「:(カテゴリ名)」ページへのリンクを作成する。

カテゴリページへのリンクを表示したくないならば、[[ >:(カテゴリ名)]]のようにリンクを作る。(「[[」と「>」の間にスペースが入ってるのがミソ。)

参考

この方法の問題点と解決法

上記のような方法には問題がある。つまり、カテゴリページにリンクしたすべてのページがそのカテゴリに登録されてしまうのだ。これを解決する方法を2つ考えてみた。

まず、カテゴリに登録するためにリンクを張るページと、登録せずにカテゴリページにリンクを張りたいときのページを分ける方法がある。

例えば、「Category/(カテゴリ名)」というページを作成し、「#related」を書いておく。このカテゴリに登録したいページは、このページにリンクを張るようにする。

次に、「:Category/(カテゴリ名)?」というページを作成し、ここで、

#include(Category/(カテゴリ名),notitle)

や、

#alias(Category/(カテゴリ名))

と記述する。カテゴリに入れたくないが、カテゴリページにリンクしたい場合は、このページにリンクをはる。

もう一つの方法は、InterWikiを使う方法だ。InterWikiName

[./?:Category/ Category]

のような記述を追加する。そしてカテゴリに登録せずにカテゴリページにリンクを張るには、

[[Category:(カテゴリ名)]]

とする。


ページ情報
[ トップ ]   [ 編集 | 凍結 | 差分 | バックアップ | 添付 | 複製 | 名前変更 | リロード ]   [ 新規 | 子ページ作成 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]