Tagwire+mt-xsearchでTag Cloudを作成する

色んなサイトで見掛けるようになった、タグ(キーワード)を羅列させて表示させているものをMTで利用するカスタマイズです。サイト内で人気のキーワードが判ったり、あるキーワードを元に辿り着いたビジターに対して、ピンポイントで記事内容を提供出来る意味でも有用ではないでしょうか。
ただし、これを行う際には「サイト内のキーワードをきちんと選定する」事が大事になります。

必要プラグインを入手する

アップする前の準備

●mt-xsearch プラグイン
mt-xsearchプラグインとmt-xsearch CGIスクリプトを日本語対応にする。

mt-xsearch.pl を以下のように修正。66行目
mt-xsearch.cgi を以下のように修正。27行目
44行目

※サーバーによっては、1行目のperlパスを「#!/usr/bin/perl」に書き換える必要があります。私の使ってるXREAでは要改変でした。500Errorが出る際には試してみて下さい。

プラグインのアップロード

●tagwire プラグイン
MTルートディレクトリ/plugins に tagwire.pl をアップする


●mt-xsearch プラグイン
mt-xsearch.cgi ・・・ mt.cgi と同じ場所
mt-xsearch.pl ・・・ MTルートディレクトリ/plugins の中
XSearch.pm ・・・ MTルートディレクトリ/extlib の中に MT ディレクトリを作成してその中に。


<<設置例>>
mt-xsearch.cgi (要実行権限)
plugins/mt-xsearch.pl
extlib/MT/XSearch.pm

Tag Cloud用モジュールの作成

テンプレート→モジュールタブ→モジュールを新規作成

  • テンプレートの名前:XSearch Tagwire  ←この名前で作る
  • このテンプレートにリンクするファイル:空白
  • テンプレートの中身:下記をコピー・ペースト

※6行目の case_sensitive で大小文字の区別をなしにしてます(1で区別)
※7行目の delimiter=, で区切り文字の指定


この上記テンプレートモジュールが、表示されているタグをクリックした際に表示される検索結果画面になります。
よって、このテンプレートを改変する事で、検索結果画面のレイアウトを通常の表示と同様に統一させる事が出来ます。

Tag Cloud表示用の作成

テンプレート→インデックスタブ→テンプレートを新規作成

  • テンプレートの名前:Tags
  • 出力ファイル名:tags.html (tags.php)
  • このテンプレートにリンクするファイル:空白
  • 再構築オプション:チェックする
  • テンプレートの中身:下記をコピー・ペースト

エントリーの編集画面を変更する

この設定により、エントリーにキーワードを設定出来るようになります。

  1. エントリーの編集画面を開く (新規でも既存でも良い)
  2. 画面下方にある「画面の表示設定を変更」をクリック
  3. 「カスタム」にチェックを入れ、「キーワード」の項目にチェックを入れる (他は好みで)
  4. 「保存」ボタンを押して閉じる

キーワード(タグ)の設定

エントリー編集画面にて「キーワード」の項目が出ているので、そこにタグとして表示させるキーワードを設定します。

・空白文字が区切り
・空白を含む文字をひとつのタグとして認識させたい場合は、ブラケット([])やシングルクォート(')、ダブルクォート(")で括る

作成したテンプレートにアクセスする

作成した tags.html (tags.php) にアクセスして動作確認。
埋め込んだキーワードに関するエントリーの一覧が表示されれば完了です。

タグとタグオプション

●MTTags

  • glue="glue"・・・glueで指定された文字列をタグの間に挿入表示
  • sort_by="tag|tag-case|count"・・・順序指定。大文字・小文字を区別しないアルファベット順(tag)、大文字・小文字を区別するアルファベット順(tag-case)、出現頻度順(count) デフォルトは大文字・小文字を区別しないアルファベット順(sort_by="tag")
  • sort_order="ascend|descend"・・・昇順(ascend)、降順(descend)。デフォルトは昇順(ascend)
  • lastn="N"・・・N個まで表示。デフォルトは全て表示
  • case_sensitive="0|1"・・・キーワードの大文字・小文字を区別するかどうかを指定。デフォルトは区別する(case_sensitive="1")

コンテナタグ内で利用可能なタグ
<$MTTag$>・・・タグを表示
<$MTTagCount$>・・・タグの出現回数を表示
<$MTTagDate$>・・・タグが最後に追加された日時を表示。MTEntryDateなどと同様にformat, language, utcオプションが使用可能。
<$MTTagsTotal$>・・・全てのタグの個数を表示。MTTagsコンテナの直後でも利用可能
<$MTTagsTotalSum$>・・・全てのタグの出現回数の総和を表示。MTTagsコンテナの直後でも利用可能


以上。


参考記事:
MovableType備忘録: Tag Cloudのページを作ってみる [MovableType備忘録]
小粋空間: Tag Cloud のページを作る [小粋空間]
TagwireでTagCloud - Ogawa::Memoranda
TagwireとMT-XSearchによる動的タグアーカイブ - Ogawa::Memoranda


2006/11/03 17:39:58:記事書き直し
2007/01/31 23:02:04:記事書き直し

▲ to Top

トラックバック(0)

▲ to Top