イメージ4853

地雷でもわかるライブドアブログ改造講座(コメ TB カテゴリ ツリー化)という記事を昔に書きましたが今回はそれの発展?バージョン。
こちらのツリー化の方法にすることによりすこしの高速化とうちのブログのようにコメントのツリーに自分以外の人には「さん」などの敬称をつけることができたり、今回説明しませんが2ちゃん風や他のツリーに設定することもできます。
前回のツリー化ができた人には「たしか」できるはず。できないかもですけど。
大昔にこっちのツリー化でてんてこ舞いになった経験がありなもんで。

今回も弱小エンジニアの小言さまのミニカスタマイズ 25「プラグイン(コメント/トラックバック/カテゴリ)をツリー化表示する」という記事を参考にさせていただきました。ありがとうございます。


今回はちょっと説明が雑になるかもしれないです。このまえの何も考えずにツリー化の記事が理解できた人用ということもありますので。
でわいきなりコードを。

<script type="text/javascript"
    src="
http://www.takoashi.net/js/ConvertTree.js"></script>
<script type="text/javascript"
    src="
http://www.takoashi.net/js/CreateCommentsTree.js"></script>
<script language="JavaScript"><!--

var commnets_div = GetPluginByTitle("Recent Comments");
var comments_tree = CreateTreeDataFromComments(commnets_div);
var commenttd = new TreeDataObj(); // おまじない
commenttd.OutKey = 'もも';
commenttd.LeafOut = 'さん';
ConvertTree(comments_tree,commnets_div,commenttd);

--></script>

<style>
.key_area {
 padding:0 0 0 10px;
 text-align:left;
}
.key {
}
.leaf_area {
 margin:3px 3px 3px 3px;
 text-align:left;
}
.leaf {
    padding:2px 2px 2px 18px;
    margin:0;
    background: url(
https://image.blog.livedoor.jp/takoashi/tbm.gif) no-repeat;
}
.leaf_last {
    padding:2px 2px 2px 18px;
    margin:0;
    background: url(
https://image.blog.livedoor.jp/takoashi/tbe.gif) no-repeat;
}
</style>


これが俺が使ってるコメントツリー化コードそのまま。
まえのツリー化の記事と同じように太字のところをフリーエリアにコピペです。
そしてコメントのプラグインより下にフリーエリアを配置すればツリー化します。
なんでこうなるの?という人は弱小エンジニアの小言様のページを。
これでコメントのプラグインのタイトルがRecent Commentsならこのままフリーエリアに貼ってしまえばツリー化するはずです。

前回のツリー化記事で書いたように赤青緑のところを自分のブログ用に変えるだけです。プラグインの名称の変更はこちらみてね。
http://blog.livedoor.jp/momomhf/archives/760382.html

で今回のポイントですね。敬称が自動でつくという機能の説明。
commenttd.OutKey = 'もも';
commenttd.LeafOut = 'さん';
この赤と青を自分用に変更ってことです。

イメージ4855

赤文字は敬称をつけたくない名前ってことです。自分のコメ返しに書く名前ですね。
俺は「もも」で返信してるので「もも」を除外設定に。おなじ名前の「もも」さんがコメントしてくれると敬称が省略されちゃうんですけどね。
青文字がつけたい敬称。「さん」とすれば「さん」と除外設定した以外のすべての名前につきます。
で「ハンター」。「さんありがとうございます」てしたのが画像です。
こんな風に自由におつけください。

イメージ4852

そいでちょっと簡単なツリー生成の高速化の話ですがツリー化したいものの真下にフリーエリアを置いてそこにツリー化のコードを書くということです。これでいままでよりかなり体感で早くなります。
この画像で言えば最新コメントのしたのフリーエリアにコードを。この画像はちょっとまちがってるというか非表示設定になってますが表示設定にしてくださいね。
実際の俺のブログではコメントのツリー化コードはサイト内検索の中に入ってます。
すこしでも早くという人は間になにもおかずにコメントプラグインの真下に。

もしツリー化しない場合のチェックするところは、まずは緑文字のコメントプラグインのタイトルが間違っていないか。半角だったり余計なスペースが入ってないか。ダブルコーテーションなどをまちがって消してないか。
自分の名前にまで敬称がついてしまう場合はおなじように自分の名前がおなじかどうかということを。
あとはコードを書いたフリーエリアがコメントプラグインより下にあるかということで。

あとはいままでまえに説明した全部一括のツリー化コードをお使いの場合は併用すると動かない場合がありますが、いままでのやつをカテゴリ専用に使うとしてカテゴリプラグインの真下にいままでのコードを移動で。コメントのしたにあたらしくこれを追加でうごきます。フリーエリアの場所がおかしな順番になるとうごきません。
まぁあとでカテゴリのツリー化だけのほうも書きますのでこのコメントツリー化をつかうのならいままでのと併用はしないでカテゴリのほうも別につくったほうが無難な選択です。

まぁツリー化したいだけならまえのヤツがでいいわけで。こちらは発展系ですすこし遅いと感じるのならばムリしてやってみてもいいかと。
一回やってできないときは投げたほうがいいですよwwこんなもんでストレスはためないほうがよいです。
カテゴリのツリーとちょっと違ったツリー化の仕方はあとでかきます。

2010/8 いろいろなライブドアブログの仕様変更がありうまく表示できない場合がありますご了承ください。