Nucleus(JP)フォーラム

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

ログインしていません。

#1 2004-02-18 14:09:57

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

Re: NP_CommentTree

最新のコメントをツリー形式で表示させたくてこんなの作ってみました。
思いっきり自分用ですが…。
思いっきり試作版ですが…。
恥を公開してみます(笑)

[使い方]
<%CommentTree( アイテム数, コメント数 )%>
デフォルトはアイテム数5、コメント数4です。
※表示される最大数は、アイテム数×コメント数になるのであまり大きな数を指定しないようにしてください^^;

うちのページで動いています。
こいつとTrackbackを同時に表示ができるとうれしいですね。(とかいってみる。)
処理が冗長化してそうなのでもっと良いロジックが思いつく方は教えてくださいm(_ _)m

:arrow: 最新版(v2.1)はこちら

オフライン

#2 2004-02-18 14:30:13

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

Re: NP_CommentTree

mas さんの発言:

最新のコメントをツリー形式で表示させたくてこんなの作ってみました。
うちのページで動いています。

これいいですね!コメントがどこについたのかわかりやすくてGooだと思います。

mas さんの発言:

こいつとTrackbackを同時に表示ができるとうれしいですね。(とかいってみる。)
処理が冗長化してそうなのでもっと良いロジックが思いつく方は教えてくださいm(_ _)m

逆に最新トラックバックは別に一覧表示するってのはどうでしょう(とかいってみる。)
その方がわかりやすいんじゃないかなぁと個人的には考えてたんですけど…。


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

オフライン

#3 2004-02-18 17:22:15

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

Re: NP_CommentTree

いいですねー(といいつつまだ確認してなかったり)
時間取れたら確認しますね


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

オフライン

#4 2004-02-18 20:13:02

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

Re: NP_CommentTree

たしかに、TrackBackも一緒に出したいですよね。
ついでにいうと、itemでまずソートされて、そのあとコメントですよね?
これだと、古い記事にコメントをもらったときに見えないので、最新コメントのが一番上に来たらいいなぁ。 8)

オフライン

#5 2004-02-19 01:07:18

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

Re: NP_CommentTree

suomi さんの発言:

たしかに、TrackBackも一緒に出したいですよね。
ついでにいうと、itemでまずソートされて、そのあとコメントですよね?
これだと、古い記事にコメントをもらったときに見えないので、最新コメントのが一番上に来たらいいなぁ。 8)

あ、そうか!突っ込み感謝です。
どうやら何度もループ処理をさせている間に頭が混同してしまったようです。
本来、コメントされたものを最新5件表示にしたかったので、後ほど変更します。

うーん、取り掛かるのは来週になっちゃいそうだなぁ^^;

オフライン

#6 2004-02-24 13:18:43

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

Re: NP_CommentTree

mas さんの発言:

本来、コメントされたものを最新5件表示にしたかったので、後ほど変更します。

変更しました。

このプラグインは、最新のアイテムを表示するものではないので、そこを勘違いしないでください(特に僕w)

それとも、現在あるヘッドラインと一緒に出力できるような形がいいんですかね?

3.アイテム3
 -コメント5
2.アイテム2
 -コメント3
 -コメント2
 -Trackback1
1.アイテム1
 -コメント1
 -コメント4

こんな感じで…。

最近自分でプラグインを追ってないので、もうあるようなことをいっていたら叱ってください。

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


Attachments:
zip NP_CommentTree.zip, Size: 1.58 KiB, Downloads: 1,681

オフライン

#7 2004-02-26 03:38:29

No.6
メンバー
登録日: 2004-01-14
投稿: 37

Re: NP_CommentTree

これ、見やすくていいですねーさっそく使わせていただいております 8)

で、ちょっと要望なのですが(っていつも要望ばかりだよ)
LatestWriteBackみたいにCurrentとか、除外blogの指定などができるようにならないでしょうか。
LatestWriteBackのソースと見比べて、できる?と思ったが……やはり自分じゃできませんでした、とほほ :cry:


BookGuide◆書評など。Nucleus奮闘記(?)もこちらに。
BugBlog◆こちらは日記など。

オフライン

#8 2004-02-26 04:49:39

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

Re: NP_CommentTree

No.6 さんの発言:

LatestWriteBackみたいにCurrentとか、除外blogの指定などができるようにならないでしょうか。
LatestWriteBackのソースと見比べて、できる?と思ったが……やはり自分じゃできませんでした、とほほ :cry:

ご利用ありがとうございます。
現在、内部をもうちょっと変更しようといろいろやってますので、ご要望に沿う形も同時に追ってみますねー。

まずはLatestWriteBackのCurrentってどんなもんなのか調べるところからはじめてみます :oops:

オフライン

#9 2004-02-26 11:12:19

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

Re: NP_CommentTree

横から入って勝手に改造です。すいませんー。
カレントのblogのみ表示、blog指定、blog除外できるようにしました。

<%CommentTree(5,4,current)%>
<%CommentTree(5,4,=1/3/4)%>
<%CommentTree(5,4,<>2/5)%>

みたいにパラメータ指定してください。
:arrow: 最新版(v1.0)はこちら


Attachments:
zip NP_CommentTree03.zip, Size: 1.65 KiB, Downloads: 1,474

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

オフライン

#10 2004-02-26 12:41:10

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

Re: NP_CommentTree

改造ありがとうございます big_smile

助かりました~。
僕が見直してたロジック部分も直ってるw

そうなんですよね、必要ないんですよね^^;
mysql関数はもっと知りたいっす。

というわけで(え?)、CommentTreeはこのバージョンが一番速く動作しますので推奨です:-)

オフライン

#11 2004-02-26 13:39:40

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

Re: NP_CommentTree

トラックバックも混ぜて表示するバージョンも作ってみました。
編集オプションでトラックバックは混ぜない指定をすることができます。
バージョンアップの際は、一度アンインストールしてから再インストールしてください。

余談ですが、トラックバックを以前使っていてテーブルはそのまま存在していても管理エリアでアンインストールされている状態ならば、トラックバックは呼び出さないようにしました。
LatestWritebacksもそうしたほうがよさそうですね。

あとは、LatestWritebacks同様、blog設定のURL呼出しだなぁ...

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


Attachments:
zip NP_CommentTree04.zip, Size: 2.14 KiB, Downloads: 1,556

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

オフライン

#12 2004-02-26 18:23:49

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

Re: NP_CommentTree

nakahara21 さんの発言:

トラックバックも混ぜて表示するバージョンも作ってみました。

アンインストールして再インストールしてみたのですが、私のところだと

Warning: Missing argument 2 for getitem() in MANAGER.php on line 51

というエラーが出ました。
$manager->getItem()を呼んでいるところで第2第3引数に0を渡すように変更したらうまくいっているようです。
2.5βだとgetItem()が違うんでしょうか?

オフライン

#13 2004-02-26 20:14:59

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

Re: NP_CommentTree

上にあるスオミさんと同じエラーでました。
EUCに文字コードは変換しました。
Nucleus2.5CVSです。

オフライン

#14 2004-02-26 22:45:03

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

Re: NP_CommentTree

はっち さんの発言:

Nucleus2.5CVSです。

Nucleus2.0でも同じエラーが出ます。

Warning: Missing argument 2 for getitem() in /virtual/fjsk/public_html/nucleus/libs/MANAGER.php on line 52

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

オフライン

#15 2004-02-27 09:19:31

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

Re: NP_CommentTree

早速、修正しました。ついでにちょっとソースも整形しました。

私のテスト環境はエラー表示が出なさすぎ...
.htaccessでini書き換えすればエラー表示するようになるでしょうか?
誰か.htaccessに記述する内容教えてください...

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


Attachments:
zip NP_CommentTree045.zip, Size: 1.88 KiB, Downloads: 1,599

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

オフライン

#16 2004-02-27 10:10:12

No.6
メンバー
登録日: 2004-01-14
投稿: 37

Re: NP_CommentTree

nakahara21 さんの発言:

早速、修正しました。ついでにちょっとソースも整形しました。

私のテスト環境はエラー表示が出なさすぎ...
.htaccessでini書き換えすればエラー表示するようになるでしょうか?
誰か.htaccessに記述する内容教えてください...

いつもながら早!
今度は大丈夫です、ありがとうございます。

まみおさんのとこと反対で、私の環境はエラーが出すぎ…… :cry:


BookGuide◆書評など。Nucleus奮闘記(?)もこちらに。
BugBlog◆こちらは日記など。

オフライン

#17 2004-02-27 10:37:08

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

Re: NP_CommentTree

nakahara21 さんの発言:

早速、修正しました。ついでにちょっとソースも整形しました。

すばやい対応ありがたいです big_smile 帰ったら試してみます~。

nakahara21 さんの発言:

私のテスト環境はエラー表示が出なさすぎ...
.htaccessでini書き換えすればエラー表示するようになるでしょうか?
誰か.htaccessに記述する内容教えてください...

phpでは役立たずなので、(いや.htaccessでも役立たずなんですけど)ちょっと調べてみました。どうやらこの場合、.htaccessには

php_value error_reporting 2039

と記述するみたいですよ。
しかし実践した事は無いので、識者の登場を待つ方がいいかもしれません…。


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

オフライン

#18 2004-02-28 22:35:43

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

Re: NP_CommentTree

最新のNP_CommentTreeでは、またアイテムでソートされている模様。
古いアイテムに付いた最新のコメントがでなくなっています…。

オフライン

#19 2004-02-29 01:32:23

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

Re: NP_CommentTree

suomi さんの発言:

最新のNP_CommentTreeでは、またアイテムでソートされている模様。
古いアイテムに付いた最新のコメントがでなくなっています…。

最新の、とありますが、最新にした時にこの辺のロジックをいじったつもりはないので、おかしいなぁと調べたところ、バージョン0.2でもやっぱり、同じ現象。

要するに、sql文の書き方の問題なんですけどね....

目標とする動作の確認なんですが、
1)最新のコメント(or トラックバック)がついているアイテムが一番上
→これはいいんですよね?
2)各アイテムにぶら下がるコメントリストについて
a:最新4件のみを古い順から表示
b:最新4件のみを新しい順に表示
c:一番古いものから4件表示(ってことはあり得ないか)
→どっちなんでしょ?やっぱ、a:ですか?ね。


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

オフライン

#20 2004-02-29 02:11:13

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

Re: NP_CommentTree

nakahara21 さんの発言:

2)各アイテムにぶら下がるコメントリストについて
a:最新4件のみを古い順から表示
b:最新4件のみを新しい順に表示
c:一番古いものから4件表示(ってことはあり得ないか)
→どっちなんでしょ?やっぱ、a:ですか?ね。

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

実は、根本的なロジック見直しは2箇所でした :cry:
今度こそ、大丈夫?

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


Attachments:
zip NP_CommentTree05.zip, Size: 1.9 KiB, Downloads: 1,952

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

オフライン

#21 2004-02-29 02:17:06

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

Re: NP_CommentTree

nakahara21 さんの発言:

2)各アイテムにぶら下がるコメントリストについて
a:最新4件のみを古い順から表示
b:最新4件のみを新しい順に表示
c:一番古いものから4件表示(ってことはあり得ないか)
→どっちなんでしょ?やっぱ、a:ですか?ね。

a:をご希望の方に、改造方法を書いておきます。
140行目の

krsort($ress);

を、

ksort($ress);

と修正して、148行目からの

			if(count($ress) > $show_rescnt){
				echo "└ and more...<br />\n";
			}

をコメントアウトしてください。

夜更かししちゃいました :?


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

オフライン

#22 2004-02-29 03:36:19

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

Re: NP_CommentTree

nakahara21 さんの発言:

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

実は、根本的なロジック見直しは2箇所でした :cry:
今度こそ、大丈夫?

僕のイメージでは、a:です。対策ありがとうございます。

うーん、古いアイテムにコメントが来た時、うちでは動いているんですが…要望のとり間違えだろうか…。
ロジックがダメでしたか。
ちょっとショックです。
ともあれ修正ありがとうございます。

コメントのついているアイテムをとってくるところ、MAXとGROUP BY の掛け合わせでできるんですね。参考になりました。
もうひとつの根本的見直し部分はどこかお教え願えませんか?

オフライン

#23 2004-02-29 10:44:26

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

Re: NP_CommentTree

nakahara21 さんの発言:
nakahara21 さんの発言:

勝手にb:にしちゃいました。

bでもOKです。ありがとうございましたー。 big_smile

ついでに、NP_EzComment の list も同じように直そうと思ったんですが、
EzComment の場合はやはり a だなぁと考え始めてハマリました。
LIMITに指定する数字を変えるか、DESCで取ってきてもう一度ひっくり返すかかな?
と思うんですが、誰かさっくり直した人いませんか? roll

オフライン

#24 2004-03-01 20:29:33

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

Re: NP_CommentTree

mas さんの発言:

もうひとつの根本的見直し部分はどこかお教え願えませんか?

もうひとつは、コメントついてる最新アイテム3個とトラックバックついてる最新アイテム3個を拾った後で、これを時系列に並べ替えて最新3個を取り出すところ。

		//sort itemid which have comment or trackbacks
		ksort($latest_itemid);
		$latest_itemid = array_unique($latest_itemid);
		krsort($latest_itemid);

これです。
例えば、コメントついてる最新3アイテムとトラックバックついてる最新3アイテムを拾った時点で$latest_itemidは、

03/12=>3
02/28=>26
02/26=>22
(以上、コメントついてるアイテム最新3)
03/02=>21
02/25=>30
02/22=>3
(以上、トラバついてるアイテム最新3)

になったとします。(本当はキーはタイムスタンプだけど)
この配列をユニークな値にして最新順に並べ替えたいんですが、array_uniqueというのは、どうも2回目に登場した行が上書きするみたいで、

		krsort($latest_itemid);
		$latest_itemid = array_unique($latest_itemid);

とやってしまうと、itemid3のキーは、02/22になってしまっていたようです。
だから、昇順にしてarray_uniqueして降順にするように変更しました。

これに対してmysqlのSELECT文のDISTINCTの動作は正反対でした。

SELECT DISTINCT citem FROM nucleus_comment ORDER BY cnumber DESC LIMIT 0,3

とやると、
まずcitemをDISTINCT → cnumberで並べ替え → 0から3つ取り出し
という動作になるみたいなんですが、DISTINCTは2回目に出てきた行は無視するという仕組みのようで、例えば最新行のcitemは26だったとしてもずっと過去にもコメントがついていたらこのcitem26のcnumberは過去の方の値になるみたいで。

説明下手ですいません。

mas さんの発言:

コメントのついているアイテムをとってくるところ、MAXとGROUP BY の掛け合わせでできるんですね。参考になりました。

なんか偶然できちゃっただけで、どうして思いついたのかさっぱりわかりませんが sad
きっと神が降りてきたんでしょう(笑)


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

オフライン

#25 2004-03-04 10:13:05

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

Re: NP_CommentTree

機能的には変更ないんですが、blog設定でblogのurlを指定している場合、このurl+?itemid=**でリンクを貼るようにしました。

[NormalURLモードでこれを使う場合]
このリンク先url生成方法の変更により、、リンク先が相対指定から絶対指定になります。(htmlソースをのぞかないと意識できないと思うけど)
利点は、セッション使用している場合、セッションIDがurlに渡らなくなります。(ってセッション使っているのは私だけだと思うけど)
※blogのURLを指定していて、.phpで終わっていない場合は勝手に「index.php」を付加しています。

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

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


Attachments:
zip NP_CommentTree06.zip, Size: 2.15 KiB, Downloads: 1,784

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

オフライン

Board footer