2011-05-25 77 views
0

我订阅了高级论坛模块的Drupal 5站点。当用户决定删除她的帖子时,帖子消失并且后续帖子向上移动。在Drupal论坛中删除帖子会扰乱编号

因此,如果#2被删除,现有的#3将成为#2等等。这个问题是如果人们引用以前的帖子,这些帖子现在有错误的编号。因此,它可能导致很多混淆,甚至会让人生气,因为他们觉得评论不合适 - 这毕竟不是!

我们想要的是删除的帖子只是简单地删除而不重新编号。在设置中没有这个选项,所以我很可能必须修改这些文件。

你知道是否已经有一个补丁来完成这个任务吗?或者你可以选择指向我需要修改代码的位置吗?

我是一名经验丰富的PHP开发人员,但Drupal对我而言是新手。

回答

1

可能的解决方法是将注释表中的状态字段设置为0,而不是删除注释。这样它就不会出现在评论列表中,并且其他cid不会被改变。你可以在一个带有钩子的自定义模块中做到这一点,但我不确定什么钩子调用comment_delete,通常你会覆盖hook_nodeapi 但如果我没有记错的话,注释可能与节点的处理方式不同。

查看/ modules下的comment模块,查看hook的comment_delete被调用的内容,并覆盖自定义模块中的内容,这样你就不必破解任何核心代码。

好运

+0

将statusflag设置为0不会隐藏注释。事实上,它已经是0了。我搜索了一下,发现这个http://drupal.org/node/11804,它解释了1表示在评论表中未发布,但将其设置为1也不会隐藏它。显然,状态字段根本不被使用。无论如何,你引导我在正确的方向,我已经找到了处理删除评论的确切功能。如果其他任何事情都失败了,我可以简单地删除评论主体并保留评论 - 它完全和删除评论一样好。 – marlar 2011-05-26 19:40:12

+0

好吧,将状态标志设置为1是否隐藏评论。原来,因为我是管理员,我(当然)看到未发表的评论!其实非常明显:-) – marlar 2011-05-26 22:01:40

+0

嘿!伟大的:)愉快你在你的问题上取得了一些进展! – stefgosselin 2011-05-27 03:23:04