ran_tagsプラグインからtru_tagsプラグインに乗り換え (Textpatternでタグ)
Posted: August 23rd, 2006 | No Comments »このブログでは記事の分類にカテゴリを使わずにタグを使っています。記事をカテゴリでキチッと分類するよりも、タグで適当に分類する方が性に合っているのです。テーマを一つに絞って書けないだけ、というのもありますが。
しかしカテゴリでキチッと分類したページの方が、見る人が興味のあるテーマを探しやすい気もします。じゃぁ、タグでもやってやろうじゃないかということで、サイドバーに記事の多いタグをいくつか表示してカテゴリのかわりにしたり、タグまわりのナビゲーションを強化することにしました。
これまでは ran_tagsプラグインを使っていたのですが、このプラグインではあまり肌理の細かい設定はできません。ということで、より多くの機能のある tru_tagsプラグインに乗り換えました。Hicks先生のプラグインリストで知ったのですが、けっこういろんなところで使われているようですね。
乗り換えた結果、タグクラウドの色や大きさの設定、タグごとの記事数の表示などなど、かなり自由度の広い設定ができるようになりました。心なしかページの表示も速くなったような気もします。
以下、乗り換え手順です。
インストール
tru_tagsプラグイン をいつもの方法でインストール。HELPをよく読んでから、ran_tagsプラグインを無効、tru_tagsプラグインを有効にします。
DB 内を置換
tru_tagsプラグインでは、タグを複数指定する時の区切りが「,」(コンマ)。これまでは「 」(半角スペース)だったので変えないといけません。それと一緒に、フィールドも「custom_1」フィールドから「Keywords」フィールドに移します。
手作業でやるのはさすがに無理なので、Textpatternのデータが入ってるMySQLデータベースで下記のようなSQL文を実行。
UPDATE `textpattern` SET `Keywords`=REPLACE(`custom_1`, " ", ",") WHERE 1
これだと「custom_1」フィールドにこれまでのタグは残っています。別に問題ないと思いますが、何となくスッキリしないという場合は、以下のようなSQL文で消します。
UPDATE `textpattern` SET `custom_1`="" WHERE 1
「ページ」の編集
「tag」セクションで使っている「ページ」のテンプレートを変更。<txp:ran_tags_list_tag />タグを、<txp:tru_tags_handler />に変更。このタグは、「tag」セクション直下だと<txp:tru_tags_cloud />としてタグクラウドを表示して、タグ検索ページだととして該当する記事を表示してくれます。属性はこの二つのタグの属性がほぼそのまま通るようです。
「フォーム」の編集
記事を出力するフォームも変更。
<txp:ran_tags_if_exists>
みたいになっているところを、
<txp:tru_tags_from_article />
に書き換え。
管理画面の記事一覧にタグを表示
ついでに、せっかくなので管理画面の記事一覧にタグを表示させましょう。記事にどんなタグがついているのかが一覧できるようになります。
ただTextpatternのソースコードを少し書き換えるので、それに抵抗のある場合は特にやる必要はありません。
Textpatternをインストールしたディレクトリの「/textpattern/lib/txp/list.php」を一旦ローカルにダウンロードしてから、以下のような変更をしてアップロードします。
85行目あたりの
column_head(\'category2\', \'category2\', \'list\', 1, $linkdir),
hCell(gTxt(\‘author\’)),
を、
column_head(\'category2\', \'category2\', \'list\', 1, $linkdir),
hCell(gTxt(\‘Keywords\’)),
hCell(gTxt(\‘author\’)),
に。
105行目あたりの
td($Category1,75).td($Category2,75),
td($AuthorID),
を
td($Category1,75).td($Category2,75),
td($Keywords),
td($AuthorID),
に変更。
二つとも真ん中の行を挿入しているだけですが、行を間違えるとズレてしまうので慎重に。
だいたいこんな感じです。
ここまでだと・・・プラグインとあんまり変わりませんが、僕も現在テンプレートをカスタマイズ中なので、詳しい使い方はまた別の記事で書こうかと思います。
それでは、良いTextpatternライフを!
Leave a Reply