【问题标题】:Anonymous comments not saved in Drupal匿名评论未保存在 Drupal 中
【发布时间】:2009-12-10 16:30:24
【问题描述】:

由于某种原因,我无法再以匿名用户身份在我的 Drupal 安装中发表评论。我有一段时间没有尝试过,所以我不太确定这个功能什么时候被破坏了。

我安装了服务,我可以使用 comment.save 发布匿名 cmets。如果这可能会破坏某些东西,我已经更改了Input Formats

我对匿名用户启用了post commentsaccess comments。 cmets 未显示在数据库中。事实上,当我尝试以匿名方式评论时,不会调用原生 Drupal 函数 comment_save(我通过在 comment.module 中的 comment_save 函数顶部添加 print_r($edit);die(); 来检查这一点。此外,我还读到了一些不是拥有 UID 0 的用户会破坏匿名评论,该用户存在(显然,因为通过服务进行评论有效)

我已经试用了AntiSpam 模块,并发布了一条匿名评论,该评论会在垃圾邮件过滤器中被捕获(并且确实如此),但该模块现在已被禁用。

我真的没有想法了,还有人对如何做有任何其他建议吗?同时,我将尝试回溯代码以找出为什么没有调用comment_save()

编辑:匿名用户也不必提交电子邮件等来发布,如果这有任何影响的话。

【问题讨论】:

    标签: drupal drupal-comments


    【解决方案1】:

    按照您的说法,我怀疑问题出在评论表单上的一些贡献代码并以使其无法提交的方式对其进行修改。这可能是由多种原因引起的:jQuery 将字段添加到表单而不在服务器上重新生成表单 ID,添加或自定义字段更改回调以提交表单等...

    我不能确定,但​​如果我是你,我会这样做,以检查你的安装情况:

    • 确保您已卸载(不仅是禁用)您尝试过的模块并且不再使用。模块永远不应该接触核心表,但谁知道呢……它不需要任何成本,而且它实际上释放了你的一些数据库。

    • 尝试禁用所有贡献模块,看看您是否可以这样评论。如果是这种情况,请一次激活一个 contrib 模块,直到找出哪个是罪魁祸首。您可能已经在http://drupal.org 上的该模块的问题队列中找到了补丁/解决方法。如果您没有找到解决办法,我会调查(xdebug 或手动跟踪)代码,我会特别注意hook_form_alter()hook_form_FORM_ID_alter() 的所有实现。

    • 如果即使禁用所有 contrib 模块也无济于事(我会对此感到非常惊讶),如果您认为您的猫有可能,请尝试使用全新安装更新核心当你打开一个核心文件时在键盘上走动,或者you live with Gordon Brown's family

    • 如果做不到这一点,我想到的唯一替代方案更加深奥,例如数据库故障、浏览器上的油脂猴脚本干扰评论以及类似的不太可能的可能性。

    HTH!

    【讨论】:

    • 我搜索了建议的功能,并尝试将实现该功能的那些一个一个禁用,现在它又可以工作了,本案的罪魁祸首是input_format_permissions。我对 Drupal 很陌生,所以我还要感谢您提供 Drupal 特定的调试清单。 :)
    【解决方案2】:

    我曾通过重置权限表 (http://drupal.org/node/64114) 解决了这个问题,但我会进行适当的备份并在选项卡中保持权限页面打开,以防万一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-26
      • 2011-04-11
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      相关资源
      最近更新 更多