先の記事で、MT-Cumulusを導入し、日本語タグを入れると、記事投稿後のリビルドでこけると書いた。
動かないのも癪なので、何とか動かないかと悪あがきした結果、動きました。
(1) http://bizcaz.com/archives/2009/01/12-195418.php
上記サイトより、mt-cumulus_103.zip(リセントリータグ対応版)をダウンロード、解凍
(2) 解凍後、plugins→Cumulus→lib→Cumulus.pmを修正
修正個所1.
http://open.free-creator.com/2009/06/mt-cumulus.php を参考に
mt/plugins/Cumulus/lib/Cumulus.pmの133行目
$tags .= "<a href=\"" . $cgipath . "mt-search.cgi?blog_id=" . $blogId . "&tag=" . $tagcloudtag->[0] . "&limit=20\" class=\"tag-link-66\" title=\"" . $tagcloudtag->[1] . " topics\" rel=\"tag\" style=\"font-size: " . $size . "pt;\">" . $tagcloudtag->[0] . "</a>\n";
を
$tags .= "<a href=\"" . $cgipath . "mt-search.cgi?blog_id=" . $blogId . "&tag=" . URI::Escape::uri_escape($tagcloudtag->[0]) . "&limit=20\" class=\"tag-link-66\" title=\"" . $tagcloudtag->[1] . " topics\" rel=\"tag\" style=\"font-size: " . $size . "pt;\">" . $tagcloudtag->[0] . "</a>\n";
に変更。
修正個所2.
私の環境では、これだけではリビルド時に下記のエラーが出てしまう。
can't escape \x{30c6}, try uri_escape_utf8() instead
そこで、上記Cumulus.pmの’uri_escape(’という部分をすべて'uri_escape_utf8('に修正。
133行目・235行目・238行目・242行目・243行目の5箇所。
修正したものをMTのサーバーにUP
(3)MTのBLOGダッシュボードでプラグイン(mt-cumulus)の設定
設定は特に難しい点はありませんが、一番上の
Enable MT-Cumulus for this blog
にチェックを忘れると、いつまでも動いてくれないので注意。
(4)ウィジェットに「タグクラウド(SWF)」を追加
ウィジェットの記述内容
<h3 class="widget-header">Tag cloud(MT-Cumulus)</h3>
<div class="widget-content">
<$MTCumulusSWFObject$><$MTCumulus$>
</div>
(5)上記ウィジェットをサイドバーのウィジェットセットに追加。
(6)サーバーにUPしたtagcloud.swfを日本語バージョンに変更する
下記サイトのコメント欄からのリンク先に日本語対応版があります。
http://darts-team.com/dartsblog/archives/360
ダウンロードして、MTサーバーのSWFと入れ替え。
以上の作業で、なんとか日本語で表示されるようになりました。
毎度の事ながら、参考にさせていただいたBLOGの主宰者の皆様、有難うございます。
はじめまして、私も修正個所1だけでは同じエラーがでまして、ググっていたらこちらにたどりつきました。
おかげさまで日本語化には成功したのですが、タグをクリックすると
「不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。」
とでてしまい、エラーになるようです。原因がわかりません。心当たりがあれば教えていただけないものでしょうか?
すいません、自己完結しました!
たけしさん、コメントありがとうございます。
自己完結との事、よかったです。