我想制作一个包含单个评论和所有回复的页面。到目前为止,没有运气:我可以在节点上调用 comment_render 和所需的评论 ID(参见How do I print a single comment in drupal?),但这只是给了我评论,而不是回复。
挖掘评论表让我认为解决方案必须破解实现线程的 cid 和 pid 字段,但我不知道如何以可以通过 pager_query 传递的方式来处理大量回复的可能性。有什么想法吗?谢谢!
我想制作一个包含单个评论和所有回复的页面。到目前为止,没有运气:我可以在节点上调用 comment_render 和所需的评论 ID(参见How do I print a single comment in drupal?),但这只是给了我评论,而不是回复。
挖掘评论表让我认为解决方案必须破解实现线程的 cid 和 pid 字段,但我不知道如何以可以通过 pager_query 传递的方式来处理大量回复的可能性。有什么想法吗?谢谢!
对于未来的访客:我得到了一些工作,我认为这实际上并不太糟糕:
1:将给定节点上的所有评论从 {comments} 中提取出来。
2:遍历这些评论,从 CID 开始:遍历原始评论的回复树,并将起始 CID 和所有发现的回复放在一起。
3:制作一个临时表,从 {comments} 中选择那些 NID 是起始节点的 NID 并且其 CID 是通过遍历树找到的那些之一。
4:将这个临时表交给一个破解版的comment_render,它在临时表上操作而不是{comments}。
5:打印结果。
6:利润!
反正看起来是这样。这可能意味着在新版本发布时跟踪 comment_render,但我猜测/希望它现在是相当稳定的代码。当然,欢迎对这方面的相对智慧提出想法。