【问题标题】:Deleting a post in Drupal forum messes up the numbering删除 Drupal 论坛中的帖子会弄乱编号
【发布时间】:2011-05-25 08:59:37
【问题描述】:

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

所以如果#2 被删除,现有的#3 将变为#2,依此类推。这样做的问题是,如果人们引用以前的帖子现在编号不正确。因此,它可能会导致很多混乱甚至使人们生气,因为他们觉得评论不合适 - 毕竟不是这样!

我们希望删除的帖子被简单地删除,而不对其余的重新编号。设置中没有这个选项,所以我很可能不得不修改文件。

你知道是否已经存在一个补丁来完成这个,或者你可以指出我需要修改代码的地方吗?

我是一位经验丰富的 PHP 开发人员,但 Drupal 对我来说是新手。

【问题讨论】:

    标签: drupal forum drupal-5


    【解决方案1】:

    可能的解决方法是将评论表中的状态字段设置为 0,而不是删除评论。这样它就不会出现在评论列表中,其他 cid 也不会改变。您可以在带有挂钩的自定义模块中执行此操作,但我不确定挂钩调用comment_delete,通常您会覆盖hook_nodeapi 但是如果我没记错的话, cmets 的处理方式可能与节点不同。

    查看 /modules 下的注释模块,查看调用了哪些钩子 comment_delete 并在自定义模块中覆盖它,这样您就不必破解任何核心代码。

    祝你好运

    【讨论】:

    • 将 statusflag 设置为 0 不会隐藏评论。事实上,它已经是 0。我用 google 搜索并找到了这个 drupal.org/node/11804,它解释了 1 表示未在评论表中发布,但将其设置为 1 也不会隐藏它。所以显然状态字段根本没有使用。无论如何,您引导我朝着正确的方向前进,因为我找到了处理评论删除的确切功能。如果其他任何事情都失败了,我可以简单地删除评论正文并保持评论原封不动 - 就像完全删除它一样好。
    • 好吧,将状态标志设置为 1 确实会隐藏评论。事实证明,因为我是管理员,所以我(当然)看到了未发布的 cmets!实际上非常明显:-)
    • 嘿!太好了 :) 很高兴您在问题上取得了一些进展!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多