NP_TagEX|アイテム数が少ないタグを非表示に

NP_TagEX|アイテム数が少ないタグを非表示に

Author : pushman|Nucleus|2006-05-16 Tue 01:56

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)」ですね。

これで気兼ねなくタグ付けできます。って一つだけならタグ付ける意味もないんですけどね。まあ、タグ付けしてる記事はいずれまた書き足すことがあると思うからこそタグを付けるわけで、その時に探し回って後からタグ付けするより気分いいと思います。


  • *1:「<%TagEX(list/1/0/1/4)%>」などとスキンに記述することで、タグの一覧が表示できます。

Tag(s): NP_TagEX

Comment Form (policy)

(メールアドレスは非公開です)

Others
Newest 5 Items

NP_GoogleMapsにオリジナルマーカーを表示

BLOG.phpのPHP Warning

CPIでNucleus(UTF-8)

NP_znItemFieldEX|「本日」の条件判断を修正

NP_OnlyImg|高さを有効に

Nucleus CMS: Pure Publishing