Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#26 2004-03-04 22:23:07

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: NP_CommentTree

nakahara21 さんの発言:

おかしい動作があればコメントつけてね。

おつかれさまです。
関係ないところですが、132,146行目の行頭記号が

ィヲ 

になってます。


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#27 2004-03-05 00:07:01

cat
Administrator
登録日: 2003-11-14
投稿: 291

Re: NP_CommentTree

まみおさん、詳細な解説ありがとうございます。
参考になりました :-)
今後同じような事例があったらこの考え方使えるようにしておこうっと。

ところで、このCommentTreeですが、Trackbackも表示できるようになったとのことで、LatestWritebackに統合するのがいいのかも、とかちょっと思いました。
いかがですか?

このCommentTreeって、MovableTypeを参考にやってみたかったことです。
MTでは、こういった改造をSkinレベルで行えるのがうらやましいですね。
Nucleusではそれはちょっと現実的ではないので、せめていろいろなパターンの見せ方は用意したいなと。でも、プラグインは増やしたくない、という矛盾がありますよね。
(まあ、各要素をMTのようにパーツ化して処理するようなプラグインの設計にすればものすごく現実的ですが…というかむしろそれがより良い形ですか?真似するとかではなくて。)

広げたらメタ化、っていう流れは自然だと思いますし。まあ、今すぐってわけではないです。
同じようなのは、最近では、NP_WikiStyleとNP_FootNoteがそんな感じでしょうか。

オフライン

#28 2004-03-05 09:01:16

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_CommentTree

藤咲 さんの発言:

関係ないところですが、132,146行目の行頭記号が

ィヲ 

になってます。

Shift-jisで開いてませんか?EUC-JPで保存してますので、EUC-JPで開けばきちんと「└」を確認できると思うのですが。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#29 2004-03-05 09:04:56

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_CommentTree

mas さんの発言:

ところで、このCommentTreeですが、Trackbackも表示できるようになったとのことで、LatestWritebackに統合するのがいいのかも、とかちょっと思いました。
いかがですか?

でも、コメントとかトラックバックを拾う規則がかなり違うので、合併っていっても丸々追加するだけの話になりそうなのでやめときます...と思うのですが、いかがでしょ。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#30 2004-03-05 11:18:21

cat
Administrator
登録日: 2003-11-14
投稿: 291

Re: NP_CommentTree

nakahara21 さんの発言:

でも、コメントとかトラックバックを拾う規則がかなり違うので、合併っていっても丸々追加するだけの話になりそうなのでやめときます...と思うのですが、いかがでしょ。

あ、そうですか。
最新のコメント・Trackbackを表示する、といった視点でしか見てない発言なので丸々追加で…という話なら統合する必要はないっすね。
ご検討ありがとうございます。

やるなら各要素のタグ化自由配置だなぁ。

オフライン

#31 2004-03-05 16:35:59

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: NP_CommentTree

nakahara21 さんの発言:

Shift-jisで開いてませんか?EUC-JPで保存してますので、EUC-JPで開けばきちんと「└」を確認できると思うのですが。

ああ!すみません、わかりました。
使用してるエディタの問題のようです。
NoEditorなんですが、開くときにShift-JISに変換して開く仕様なもので、判定に失敗してるんですね。
はずかしぃ~ :oops:

UTF-8の時はちゃんと判定したのに…。>NoEditor


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#32 2004-03-06 23:57:36

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: NP_CommentTree

ウチのサイトはMagicalで運営してるんですが、その場合173行目を

$link = $CONF['ItemURL'] . '/item_' . $itemid;

とするのでいいのでしょうか?
とりあえず動かしてみてますけど(^^;
182,183あたりも怪しいなぁとは思ってるですが、他Blogはサブディレクトリ運営なのでこのままにしてあります。


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#33 2004-03-07 00:13:25

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_CommentTree

たぶん、それで良いと思います。
なんか困ったことが生じたら教えてください>Magicalな方。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#34 2004-03-11 20:16:35

suomi
メンバー
From: 東京
登録日: 2003-11-17
投稿: 130
ウェブサイト

Re: NP_CommentTree

Magicalなsuomiです。
173行目の変更だけで、うまくいっています。
他blogの場合も問題ないみたい。(私はサブディレクトリではありません)

オフライン

#35 2004-07-15 16:16:57

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_CommentTree

ちょっと挙動不審な点があったので、これで直るかどうか試してもらえますか?

すでに0.6に手を入れて使っている人のために。
変更箇所は赤字部分。
97行目付近から

while($row = mysql_fetch_object($res)){
                if(!in_array($row->tb_id,$latest_itemid))
                $latest_itemid[$row->ttimest]= $row->tb_id;
            }
        }
//_---------------------
        //sort itemid which have comment or trackbacks
//        ksort($latest_itemid);
//        $latest_itemid = array_unique($latest_itemid);
        krsort($latest_itemid);
        $latest_itemid = array_values($latest_itemid);
        $show_itemcnt = min(intval($itemcnt),count($latest_itemid));

1行追加して、2行コメントアウト。

:arrow: 最新版(v1.0)はこちら


Attachments:
zip NP_CommentTree07.zip, Size: 2.18 KiB, Downloads: 1,163

nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#36 2004-07-15 17:43:18

Taka
メンバー
From: 千葉
登録日: 2003-11-17
投稿: 264
ウェブサイト

Re: NP_CommentTree

おおー、サンクスです。
あがったあがった。
ピンポイントでいじって、ソート部分見てなかったから大助かりです。

オフライン

#37 2004-07-15 18:24:17

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_CommentTree

あ、良かったです。
変に難しいコトしないで最初からこうすれば良かったのです。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#38 2004-07-16 21:23:53

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_CommentTree

さっき、優雅に喫茶店でお茶飲みながら女性誌を読んでいたら突然、脳みそをよぎりました。
この修正方法、ダメダメじゃん。
例えば、3番目に新しいレス付記事に最新トラックバックがあっても、一番上に上がらないじゃん。
これからコーディングします。


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#39 2004-07-16 21:44:04

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_CommentTree

段々ベタなコードになっていきますが...昨日から頭悪いのでごめんなさい。
今度はこう書いてみました。
97行目から。

			while($row = mysql_fetch_object($res)){
				if($already = array_search($row->tb_id, $latest_itemid)){
					if($row->ttimest > $already){
						unset($latest_itemid[$already]);
						$latest_itemid[$row->ttimest]= $row->tb_id;
					}
				}else{
					$latest_itemid[$row->ttimest]= $row->tb_id;
				}
			}
		}
//_---------------------
		//sort itemid which have comment or trackbacks
//		ksort($latest_itemid);
//		$latest_itemid = array_unique($latest_itemid);
		krsort($latest_itemid);

前半部分を変えてあります。

ちょっとテストしてみて結果を教えてください...どうぞよろしく。

:arrow: 最新版(v1.0)はこちら


Attachments:
zip NP_CommentTree075.zip, Size: 2.22 KiB, Downloads: 1,526

nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#40 2004-07-22 14:37:49

Taka
メンバー
From: 千葉
登録日: 2003-11-17
投稿: 264
ウェブサイト

Re: NP_CommentTree

1つ今頃気づきました。
and moreがうまく表示されてない?
えっとこれは例えば1記事に付き3つまでコメント表示するとして、実際そのアイテムに3つ以上コメントがある場合に表示される、というものだと考えていいですか?

もしそうだとすると、
127行目からの

//get comments of this item
      $query = 'SELECT cnumber, cuser, citem, cmember, ctime, UNIX_TIMESTAMP(ctime) as ctimest FROM '.sql_table('comment').' WHERE citem='.$item['itemid'].' ORDER BY cnumber DESC LIMIT 0,'.$commentcnt;

を以下に。

//get comments of this item
      $query = 'SELECT cnumber, cuser, citem, cmember, ctime, UNIX_TIMESTAMP(ctime) as ctimest FROM '.sql_table('comment').' WHERE citem='.$item['itemid'].' ORDER BY cnumber DESC LIMIT 0,'.($commentcnt + 1);

143行目からの

//get trackbacks of this item
      if ($manager->pluginInstalled('NP_TrackBack') && $this->getOption(tbflag)=='yes'){
        $query = "SELECT title, excerpt, tb_id, blog_name, timestamp ,UNIX_TIMESTAMP(timestamp) as ttimest FROM ".sql_table('plugin_tb');
        $query .= " WHERE tb_id=".$item['itemid'];
        $query .= " ORDER by timestamp DESC LIMIT 0,".$commentcnt;

を以下に。

//get trackbacks of this item
      if ($manager->pluginInstalled('NP_TrackBack') && $this->getOption(tbflag)=='yes'){
        $query = "SELECT title, excerpt, tb_id, blog_name, timestamp ,UNIX_TIMESTAMP(timestamp) as ttimest FROM ".sql_table('plugin_tb');
        $query .= " WHERE tb_id=".$item['itemid'];
        $query .= " ORDER by timestamp DESC LIMIT 0,".($commentcnt + 1);

とあらかじめ余分にひっぱるようにすればいいっすかね。
それとも私の解釈がまちがってたりして。。。

オフライン

#41 2004-07-22 17:56:25

cat
Administrator
登録日: 2003-11-14
投稿: 291

Re: NP_CommentTree

Taka さんの発言:

1つ今頃気づきました。
and moreがうまく表示されてない?

and moreって表示するようになってましたっけ?
(僕は作ってないです。まみおさんの修正分は斜め読みしかしてないっす^^;)

yuさんのところのand moreはyuさんオリジナルかと思ってました^^;
あると嬉しいですね。

#つーかゴミ投稿ですみません。

オフライン

#42 2004-07-23 00:26:32

はっち
メンバー
From: 岩手
登録日: 2003-11-19
投稿: 251

Re: NP_CommentTree

いやね、私も思ってたんですが、
yuさんとこでandmoreってでてて、
プラグインの中覗いたら書いてあって、
でも出て来ないんだけど、って思ってたんですよ。 :shock:

ま、私がどっかいじって出なくしちゃったんだろうなって思ってました。

#私はてっきりmasさんが入れてたんだと・・。

オフライン

#43 2004-07-23 09:05:33

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: NP_CommentTree

mas さんの発言:

and moreって表示するようになってましたっけ?
(僕は作ってないです。まみおさんの修正分は斜め読みしかしてないっす^^;)

ああ、そういえばand more出てないですね。
確かに前に入れていたときは出ていた記憶があります。
コメント増えたときに、これで全部かわかりにくいなぁ思ってたんですけど、最近and moreが出なくなったからそう感じるんですね。気がついてなかった lol
いつからかなぁ…?


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#44 2004-07-23 09:08:22

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: NP_CommentTree

っと、これですね。

nakahara21 さんの発言:

でもって、件数オーバーのレスがあるときは、1行「and more...」行を出すようにしたんだけど。

2/29のNP_CommentTree05.zipからです。

で、いつから出てないのかはわかりません(^^;


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#45 2004-07-31 00:45:21

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: NP_CommentTree

まったくでない訳ではないですね。
コメントだけだと出ないんですが、Trackbackも含めて表示数をオーバーすると出るような?


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#46 2004-07-31 02:36:53

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_CommentTree

and moreの出力がおかしいのは、むしろ以前からおかしかったとしか思えません sad
修正を加えて影響が出る所じゃないので。

っつーわけで、タカさんの書いてくれた修正が必要ですね。
今度書き直しておきます...
CommentTreeは奥が深い...(←検証しなさ過ぎともいう)


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#47 2004-11-06 20:58:32

シバ
ゲストユーザー

Re: NP_CommentTree

EUC-JPで使ってると、レス部分が文字化けを起こしたので、勝手にEUC-JPで書き換えました。とりあえず、あげておきます
DL
かなり勝手なことしてる気がしますが。。。(汗

#48 2004-11-30 21:36:03

咲子♂
メンバー
From: 愛知県
登録日: 2004-11-28
投稿: 42
ウェブサイト

Re: NP_CommentTree

ウチでも同じでした。
コメントだけだと出ないんですが、Trackbackも含めて表示数をオーバーするとでます。

オフライン

#49 2004-12-01 01:43:53

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: NP_CommentTree

Ver0.75+Takaさんの修正を加えたものをベースに、オプション項目を増やしたのを置いておきます。

:idea: Nucleusバージョン2.5以降対応

表示用テンプレートをオプション画面に追い出してみました。
タイトル名などの文字数指定も追加。
コメント者の名前とコメント内容の長さを自動調節する機能もつけてみましたが、
ちょっといいかげんかも(コード内で適当に数字をいじってるところあり)

スキン変数のパラメータで、コメントのみ、トラバのみ表示のモードも加えてみました。
スキン変数の記述例:

<%CommentTree()%>
<%CommentTree(5,4)%> //item amount, comment amount
<%CommentTree(5,4,comment)%> //comments only
<%CommentTree(5,4,trackback)%> //trackbacks only

CSSでの修飾を念頭においてるので、そのサンプルも。
backgroundの指定は、スキンのフォルダ内にimgフォルダがあって、その中に各アイコンがあることを前提にしてます。

/* NP_CommentTree */
ul.commenttree {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.commenttree li {
	margin: 0;
	padding 0;
	padding-left: 14px;
}
ul.commenttree li.item {
	background: url(img/ico_item.gif) top left no-repeat;
}
ul.commenttree li.comment,
ul.commenttree li.more {
	background: url(img/ico_comment.gif) top left no-repeat;
}
ul.commenttree li.trackback {
	background: url(img/ico_tb.gif) top left no-repeat;
}

:arrow: 最新版(v1.0)はこちら


Attachments:
zip NP_CommentTree_v0.8.zip, Size: 2.7 KiB, Downloads: 1,567

Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#50 2005-05-10 12:11:49

sh
メンバー
登録日: 2005-03-08
投稿: 3

Re: NP_CommentTree

ブログ選択がうまくいかなかったので調べてみました。Ver.0.8です。
73行目の

	$filter = " cblog <>".str_replace("/"," or cblog<>",$filter);

	$filter = " cblog <>".str_replace("/"," and cblog<>",$filter);

ですね。
どうせなら70行目と同じようにINを使って

	$filter = " cblog NOT IN(".str_replace("/",",",$filter).")";

のほうが見易いですか。
同じミスがNP_LatestWritebacksにもあったような…。 sad

オフライン

Board footer