2006-05-16 Tue
NP_TagEX 導入以来、無尽蔵にタグを登録していった当然の報いとして、Tag Cloud*1 に表示されるタグが多すぎるうえに、どれもこれも登録アイテムが少ないのでフォントサイズも小さくて見にくいことこの上ない。自分でタグ付けしたのに結局検索機能でアイテムを探す始末。ということで、登録アイテム数が 2 つ以下のタグを非表示にする改造を施しました。
相当猛烈な試行錯誤の結果、NP_TagEX.php の 575 行目あたりをいじくることで、アイテム数でフィルタをかけることができることがわかりました。575 行目あたりに次のような記述があります。
$printData['tagIndex'] = array( 'and' => $and, 'or' => $or, 'tag' => htmlspecialchars($tag), 'tagamount' => $tagAmount, 'fontlevel' => $fontlevel, 'taglinkurl' => $this->creatTagLink($tag, $type[1]), 'tagitems' => $tagitem ; $eachTag[$t] = TEMPLATE::fill($template['tagIndex'], $printData['tagIndex']) . ' ';
この前に if 文を追加して、次のようにします。
if ($tagAmount > 2) {
$printData['tagIndex'] = array(
'and' => $and,
'or' => $or,
'tag' => htmlspecialchars($tag),
'tagamount' => $tagAmount,
'fontlevel' => $fontlevel,
'taglinkurl' => $this->creatTagLink($tag, $type[1]),
'tagitems' => $tagitem
;
$eachTag[$t] = TEMPLATE::fill($template['tagIndex'], $printData['tagIndex']) . ' ';
}
追記した if 文の閉じ忘れに注意しましょう。「if ($tagAmount > 2)」とすることで「$tagAmount」、つまりそのタグが持つアイテム数が 3 つ以上の場合だけ、タグ名を表示させています。数値を変更することで、任意の数だけ持つタグのみ表示させることができます。例えば 5 つ以上なら「if ($tagAmount > 4)」ですね。
これで気兼ねなくタグ付けできます。って一つだけならタグ付ける意味もないんですけどね。まあ、タグ付けしてる記事はいずれまた書き足すことがあると思うからこそタグを付けるわけで、その時に探し回って後からタグ付けするより気分いいと思います。
« Old 2006-05-11
Nucleus|画像の縮小表示
2006-05-17 New »
NP_OnlyImg|代替テキスト抽出