Nucleus(JP)フォーラム Forum Index

Find on the forum:
OR  AND    » Advanced Search

未返信の記事を表示全てのフォーラムを既読にする

新しいトピックを投稿 トピックに返信
投稿者 メッセージ
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.02.29 (日) 02:17   記事の件名: Re: ありゃ。
引用付きで返信

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


a:をご希望の方に、改造方法を書いておきます。
140行目の
Code:
krsort($ress);

を、
Code:
ksort($ress);

と修正して、148行目からの
Code:
         if(count($ress) > $show_rescnt){
            echo "└ and more...<br />\n";
         }

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

夜更かししちゃいました Confused

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
mas
モデレーター
モデレーター


登録日: 2003.11.14
記事: 292
所在地: 埼玉

記事 日時: 2004.02.29 (日) 03:36   記事の件名: Re: たぶん大丈夫。
引用付きで返信

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

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

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

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

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
suomi



登録日: 2003.11.17
記事: 130
所在地: 東京

記事 日時: 2004.02.29 (日) 10:44   記事の件名: Re: たぶん大丈夫。
引用付きで返信

[quote="nakahara21"]
nakahara21 wrote:
勝手にb:にしちゃいました。

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

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.03.01 (月) 20:29   記事の件名: Re: たぶん大丈夫。
引用付きで返信

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


もうひとつは、コメントついてる最新アイテム3個とトラックバックついてる最新アイテム3個を拾った後で、これを時系列に並べ替えて最新3個を取り出すところ。
Code:
      //sort itemid which have comment or trackbacks
      ksort($latest_itemid);
      $latest_itemid = array_unique($latest_itemid);
      krsort($latest_itemid);

これです。
例えば、コメントついてる最新3アイテムとトラックバックついてる最新3アイテムを拾った時点で$latest_itemidは、
Quote:
03/12=>3
02/28=>26
02/26=>22
(以上、コメントついてるアイテム最新3)
03/02=>21
02/25=>30
02/22=>3
(以上、トラバついてるアイテム最新3)

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

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

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

Quote:
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 wrote:
コメントのついているアイテムをとってくるところ、MAXとGROUP BY の掛け合わせでできるんですね。参考になりました。

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

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.03.04 (木) 10:13   記事の件名: グローバルなアイテムリンク
引用付きで返信

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

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

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

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



NP_CommentTree06.zip
 説明:
EUC-JPです。UTF-8の人は要変換。

ダウンロード
 ファイル名:  NP_CommentTree06.zip
 ファイルサイズ:  2.15 KB
 ダウンロード:  1320 回


_________________
nakahara21
http://nakahara21.com/
*移転しています


最終編集者 nakahara21 [ 2006.04.19 (水) 10:51 ], 編集回数 1 回

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
藤咲
モデレーター
モデレーター


登録日: 2003.11.17
記事: 1164
所在地: 広島

記事 日時: 2004.03.04 (木) 22:23   記事の件名: Re: グローバルなアイテムリンク
引用付きで返信

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

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

になってます。

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
mas
モデレーター
モデレーター


登録日: 2003.11.14
記事: 292
所在地: 埼玉

記事 日時: 2004.03.05 (金) 00:07   記事の件名: 解説ありがとうございます
引用付きで返信

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

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

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

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.03.05 (金) 09:01   記事の件名: Re: グローバルなアイテムリンク
引用付きで返信

藤咲 wrote:
関係ないところですが、132,146行目の行頭記号が
Code:
ィヲ

になってます。
Shift-jisで開いてませんか?EUC-JPで保存してますので、EUC-JPで開けばきちんと「└」を確認できると思うのですが。
_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.03.05 (金) 09:04   記事の件名: Re: 解説ありがとうございます
引用付きで返信

mas wrote:
ところで、このCommentTreeですが、Trackbackも表示できるようになったとのことで、LatestWritebackに統合するのがいいのかも、とかちょっと思いました。
いかがですか?
でも、コメントとかトラックバックを拾う規則がかなり違うので、合併っていっても丸々追加するだけの話になりそうなのでやめときます...と思うのですが、いかがでしょ。
_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
mas
モデレーター
モデレーター


登録日: 2003.11.14
記事: 292
所在地: 埼玉

記事 日時: 2004.03.05 (金) 11:18   記事の件名: Re: 解説ありがとうございます
引用付きで返信

nakahara21 wrote:
でも、コメントとかトラックバックを拾う規則がかなり違うので、合併っていっても丸々追加するだけの話になりそうなのでやめときます...と思うのですが、いかがでしょ。
あ、そうですか。
最新のコメント・Trackbackを表示する、といった視点でしか見てない発言なので丸々追加で…という話なら統合する必要はないっすね。
ご検討ありがとうございます。

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
藤咲
モデレーター
モデレーター


登録日: 2003.11.17
記事: 1164
所在地: 広島

記事 日時: 2004.03.05 (金) 16:35   記事の件名: Re: グローバルなアイテムリンク
引用付きで返信

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

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

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

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
藤咲
モデレーター
モデレーター


登録日: 2003.11.17
記事: 1164
所在地: 広島

記事 日時: 2004.03.06 (土) 23:57   記事の件名: Re: グローバルなアイテムリンク
引用付きで返信

ウチのサイトはMagicalで運営してるんですが、その場合173行目を
Code:
$link = $CONF['ItemURL'] . '/item_' . $itemid;

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

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.03.07 (日) 00:13   記事の件名: そうですね
引用付きで返信

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

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
suomi



登録日: 2003.11.17
記事: 130
所在地: 東京

記事 日時: 2004.03.11 (木) 20:16   記事の件名: 遅くなりましたが
引用付きで返信

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.07.15 (木) 16:16   記事の件名: 0.7試してみてください
引用付きで返信

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

すでに0.6に手を入れて使っている人のために。
変更箇所は赤字部分。
97行目付近から
Quote:
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)はこちら



NP_CommentTree07.zip
 説明:

ダウンロード
 ファイル名:  NP_CommentTree07.zip
 ファイルサイズ:  2.18 KB
 ダウンロード:  748 回


_________________
nakahara21
http://nakahara21.com/
*移転しています


最終編集者 nakahara21 [ 2006.04.19 (水) 10:52 ], 編集回数 1 回

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
Taka
モデレーター
モデレーター


登録日: 2003.11.17
記事: 264
所在地: 千葉

記事 日時: 2004.07.15 (木) 17:43   記事の件名:
引用付きで返信

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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.07.15 (木) 18:24   記事の件名:
引用付きで返信

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

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.07.16 (金) 21:23   記事の件名: ダメじゃん
引用付きで返信

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

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2004.07.16 (金) 21:44   記事の件名: 今度こそ?
引用付きで返信

段々ベタなコードになっていきますが...昨日から頭悪いのでごめんなさい。
今度はこう書いてみました。
97行目から。
Code:
         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)はこちら



NP_CommentTree075.zip
 説明:

ダウンロード
 ファイル名:  NP_CommentTree075.zip
 ファイルサイズ:  2.22 KB
 ダウンロード:  1113 回


_________________
nakahara21
http://nakahara21.com/
*移転しています


最終編集者 nakahara21 [ 2006.04.19 (水) 10:52 ], 編集回数 1 回

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
Taka
モデレーター
モデレーター


登録日: 2003.11.17
記事: 264
所在地: 千葉

記事 日時: 2004.07.22 (木) 14:37   記事の件名:
引用付きで返信

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

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

Quote:
//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;

を以下に。
Quote:
//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行目からの
Quote:
//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;

を以下に。
Quote:
//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);


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

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
新しいトピックを投稿 トピックに返信
特定期間内の記事を表示:   

ページ移動 前へ  1, 2, 3, 4, 5  次へ

Page 2 of 5

All times are GMT + 9 Hours

移動先:  

新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
ファイル添付不可
ダウンロード:

Powered by phpBB © 2001, 2002 phpBB Group