MTOS 5.02に"MT-Cumulus"を入れてみました。以下に今回結構、はまってしまったことをシェア―したいと思います。
<<手順>>
1. ファイル名 「mt-cumulus_1.03.zip」をDLしてくる。(DL情報はググって下さい)
2. 解凍して "mt/mt-static/plugins/Cumulus"下と"mt/plugins/Cumulus"下へそれぞれUpする。
3. "tagcloud.swf"を"wp-cumulus"の日本語化でググってDLして、置き換える。
4. "swfobject.js"を最新バージョンで置き換える。(現時点はv2.2です)
5. "mt/plugins/Cumulus"にある"Cumulus.pl"を開き、56行目を [ 'Cumulus_tagcolor', { Default => '000000' } ], に書き換える。('FFFFFF' を '000000' に変更する。これは、タグ色がディフォルトは「白」なので表示されていないと勘違いして結構はまりました! 為念、前以てディフォルトを黒に指定しときましょう!
6. "mt/plugins/Cumulus/lib"にある"Cumulus.pm"を開く。以下下記参照してください。
(1) 58行目 ⇒ push @out, [ $cat->label, $count, $cat->basename ]; 赤文字部分を追加する。145行目 ⇒ $cats .= "<a href=\"" . $archiveurl . $tagcloudcat->[2] 先程、配列に加えたカテゴリのベース名を指定する。オリジナルには"0"が指定してあるのでカテゴリのラベルを読み込み、当方ではカテゴリへのURLエラーとなり表示されませんでした。その対策です。
(2) 次に、新バージョンの "swfobject.js"を使いFlashを表示する方法の変更を施します。オリジナルの表示方法では、当方のMTOS 5.02では上手く表示されませんでした。210行目あたりから下記のコーディングに置き換えて下さい。
$Cumulus = "<div id=\"mttagcloudflash\">" . $tags . $cats ."<br /><a href=\"http://www.adobe.com/go/getflashplayer\"><img src=\"http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif\" alt=\"Get Adobe Flash player\" /></a></div>\n"; $Cumulus .= "\n<script type=\"text/javascript\">\n"; $Cumulus .= "var rnumber = Math.floor(Math.random()*9999999);\n"; $Cumulus .= "var flashvars = {};\n"; $Cumulus .= "flashvars.tcolor=\"0x" . $cumulusTagColor . "\";\n"; $Cumulus .= "flashvars.tspeed=\"" . $cumulusSpeed . "\";\n"; if ($cumulusEvenSpacing==1) { $Cumulus .= "flashvars.distr=\"true\";\n"; } else { $Cumulus .= "flashvars.distr=\"false\";\n"; } if ($cumulusDisplay =~ m/.tags/) { $tags = "<tags>" . $tags . "</tags>"; $tags = uri_escape_utf8($tags); $Cumulus .= "flashvars.tagcloud=\"" . $tags . "\";\n"; } elsif ($cumulusDisplay eq "cats") { $cats = uri_escape_utf8($cats); $Cumulus .= "flashvars.categories=\"" . $cats . "\";\n"; } else { #display both $tags = "<tags>" . $tags . "</tags>"; $tags = uri_escape_utf8($tags); $cats = uri_escape_utf8($cats); $Cumulus .= "flashvars.tagcloud=\"" . $tags . "\";\n"; $Cumulus .= "flashvars.categories=\"" . $cats . "\";\n"; } $Cumulus .= "flashvars.mode=\"" . $cumulusDisplay . "\";"; $Cumulus .= "var params = {};\n"; $Cumulus .= "params.bgcolor=\"#" . $cumulusBgColor . "\";\n"; if ($cumulusTransparent==1) { $Cumulus .= "params.quality=\"high\";\n"; $Cumulus .= "params.wmode=\"transparent\";\n"; } $Cumulus .= "params.allowscriptaccess=\"always\";"; $Cumulus .= "params.align=\"middle\";"; $Cumulus .= "swfobject.embedSWF(\"" . $staticUrl . "tagcloud.swf?r=\"+rnumber, \"mttagcloudflash\", \"" . $cumulusWidth . "\", \"" . $cumulusHeight . "\", \"9.0.0\", \"" . $staticUrl . "expressInstall.swf\", flashvars, params);\n"; $Cumulus .= "</script>\n"; } return $Cumulus;
あと少しです。日本語をUTF-8でエスケープします。"swfobject.js"へのコーディングは上記の通り対応済みです。(当方の環境ではUTF-8の為)
(3) 133行目を下記の通り書き換えます。(赤文字の部分)
$tags .= "<a href=\"" . $cgipath . "mt-search.cgi?blog_id=" . $blogId . "&tag=" . URI::Escape::uri_escape_utf8($tagcloudtag->[0]) . "&limit=20\" class=\"tag-link-66\" title=\"" . $tagcloudtag->[1] . " topics\" rel=\"tag\" style=\"font-size: " . $size . "pt;\">" . $tagcloudtag->[0] . "</a>\n";
以上です。最後に 当たり前のことですがプラグインの設定で "Enable MT-Cumulus for this blog" に✓を入れて有効にしないと、いくら待っても動作しませんよ