2

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

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

我已经启用了匿名用户post commentsaccess comments匿名用户。评论不会出现在数据库中。实际上,comment_save当我尝试以匿名方式评论时,不会调用本机 Drupal 函数(我通过在函数print_r($edit);die();顶部添加来检查这一点。我还读到了一些没有 UID 0 的用户会破坏匿名评论的内容,该用户存在(显然,因为通过服务发表评论有效)comment_savecomment.module

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

我在这里真的没有想法,有人对该怎么做有任何其他建议吗?同时,我将尝试回溯代码以找出为什么comment_save()没有被调用。

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

4

2 回答 2

1

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

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

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

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

  • 如果即使禁用所有 contrib 模块也无济于事(我会对此感到非常惊讶),如果您认为您的猫在打开核心文件时可能会在键盘上行走,请尝试使用全新安装更新核心,或者你和戈登布朗的家人住在一起

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

于 2009-12-10T18:58:58.647 回答
1

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

于 2009-12-10T20:07:15.267 回答