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