如何在Drupal中打印单个注释线程?

时间:2010-12-17 22:27:24

标签: drupal drupal-comments

我想创建一个包含单个注释的页面以及对它的所有回复。到目前为止,没有运气:我可以在节点上调用comment_render和所需的评论ID(参见How do I print a single comment in drupal?),但这只是给我评论,而不是回复。

挖掘评论表让我觉得解决方案必须通过实现该线程的cid和pid字段来破解它,但我不知道如何通过可以通过pager_query传递的方式来实现处理大量回复的可能性。有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

对于未来的访客:我有一些工作,我认为实际上并不太可怕:

1:从{comments}中提取给定节点上的所有评论。

2:从CID开始,逐步完成这些评论:遍历原始评论的回复树,并将起始CID和所有已发现回复的数组放在一起。

3:创建一个临时表,从{comments}中选择那些NID是起始节点的NID,其CID是通过遍历树找到的那些。

4:将此临时表交给一个被黑客攻击的comment_render版本,该版本在临时表而不是{comments}上运行。

5:打印结果。

6:利润!

无论如何,似乎还是如此。它可能意味着在发布新版本时跟踪comment_render,但我猜/希望它现在是相当稳定的代码。 当然,关于这种相关智慧的想法是受欢迎的。