2010-12-17 13 views
0

1つのコメントとそのすべての返信を含むページを作りたいと思います。これまでのところ、ノードでcomment_renderを呼び出すことができ、またコメントID(cf:How do I print a single comment in drupal?も参照)を呼び出すことができますが、返信ではなくコメントになります。Drupalで1つのコメントスレッドを印刷するにはどうすればよいですか?

コメントテーブルを掘り下げることで、スレッドを実装するcidフィールドとpidフィールドをハックする必要があると思われますが、これをどのように行うかはわかりませんpager_queryを使用して、多数の応答の可能性を処理します。そこにはどんな考えがありますか?ありがとう!将来の訪問者のための

答えて

0

1:私は実際にはあまりにもひどいはないと思う何かの作業を、得た{コメント}のうち、特定のノード上のすべてのコメントを引き出します。

2:CIDで始まるこれらのコメントを歩いてください:元のコメントへの返信のツリーをたどり、開始CIDと発見されたすべての返信の配列をまとめてください。

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

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

5:結果を印刷します。

6:利益!

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

関連する問題