PHPで「Tag Cloud」 (MT3.3) その2

  • 投稿日:
  • by

前回「Project MultiBurst:PHPで「Tag Cloud」 (MT3.3)」というのを書きましたが、
新たにそのタグがブログの中でどれだけホットなタグなのかで変化を付けるようにしました。

「TagSupplementalsプラグイン」を入れたことによって、

MTTagLastUpdated変数タグ
  タグが最後に追加された日時を表示する変数タグ

を取得できるようになったのでそれを利用しました。


以下のようなPHPをテンプレートを挿入することで実現できます。

<style type="text/css">

#tag {
border: 1px solid #CCC;
padding: 10px;
margin: 10px;
text-decoration: none;
font-family: Verdana, Arial, sans-serif;
}

#tag a {
/*border-width: 0;*/
color: #000;
text-decoration: none;
}
#tag a:active,
#tag a:hover {
color: #6C3;
text-decoration: none;
}

#tag .hot a { color: #0000ff; }
#tag .old a { color: #444444; }
#tag .oldest a { color: #b0b0b0;}

</style>

<div id="tag">
<MTTags>

<?php


$now = time();
$past = "<$MTTagLastUpdated format="%Y-%m-%d" $>";
$def = $now - strtotime($past) ;
if ($def <= 432000 ) {
$def_color = "hot";
} elseif ($def > 31536000) {
$def_color = "oldest";
} else {
$def_color = "old";
}

$sz = 12 + (int)(<$MTTagCount$>/3);
$lh = (int)(<$MTTagCount$>/3 + 100);
$str = "<span class=\"".$def_color."\" style=\"font-size:".$sz."px; line-height:".$lh."%\"><a href=\"<$MTTagSearchLink$>\" title=\"TAG [<$MTTagName$>] の関連エントリー\" rel=\"tag\"><$MTTagName$></a></span> ";

echo $str;

?>

</MTTags>
</div>


なお、青文字の部分はそれぞれフォント色を指定していますので、
適宜変更してみてください。

赤文字文字サイズと行間を指定する部分です。
これも適宜変更してみてください。


実際の画面で確かめてみてください。

「Project MultiBurst:Tag Cloud with PHP」