0

1 つのコメントとそれに対するすべての返信を含むページを作成したいと考えています。ノードと目的のコメント ID で comment_render を呼び出すことはできますが ( How do I print a single comment in drupal?も参照)、返信ではなく、コメントが返されるだけです。

コメント テーブルを掘り下げると、スレッドを実装する cid フィールドと pid フィールドを介して解決策をハックする必要があると思いますが、pager_query を介して処理する方法でそれを行う方法がわかりません。大量の返信の可能性。そこに何か考えはありますか?ありがとう!

4

1 に答える 1

0

将来の訪問者のために:私は何かが機能しているようになりましたが、実際にはそれほどひどいものではないと思います:

1:指定されたノードのすべてのコメントを{comments}から引き出します。

2:CIDで開始して、これらのコメントをウォークスルーします。元のコメントへの返信のツリーをトラバースし、開始CIDと検出されたすべての返信の配列をまとめます。

3:一時テーブルを作成し、{コメント}から、NIDが開始ノードのNIDであり、CIDがツリーを歩いて見つかったものの1つであるものだけを選択します。

4:この一時テーブルをハッキングされたバージョンのcomment_renderに渡します。これは、{comments}の代わりに一時テーブルを操作します。

5:結果を印刷します。

6:利益!

とにかくそうです。これはおそらく、新しいバージョンがリリースされたときにcomment_renderを追跡することを意味しますが、今ではかなり安定したコードであると推測/期待しています。もちろん、これの相対的な知恵についての考えは大歓迎です。

于 2010-12-20T00:56:50.810 に答える