2009-12-10 60 views
2

出于某种原因,我不能再在我的Drupal安装中发表评论作为匿名用户。我还没有尝试过,所以我不太确定这个功能何时被破坏。匿名评论未保存在Drupal

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

我已启用匿名用户上的​​和access comments。注释不会显示在数据库中。实际上,当我尝试以匿名方式发表评论时,本地Drupal函数comment_save未被调用(我通过在comment.modulecomment_save函数的顶部添加print_r($edit);die();来检查此问题,并且我读了一些没有UID为0的用户的东西打破匿名评论,这个用户存在(显然,因为评论通过服务作品)

我试过AntiSpam模块,并发布评论为匿名,将被捕获(并)在垃圾邮件过滤器,但这个模块现在已禁用

我在这里真的没有什么想法了,有没有人有什么建议在做什么?在此期间,我将尝试回溯代码以找出为什么comment_save()未被调用。

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

回答

1

你说什么,我怀疑问题是一些贡献的代码挂在评论表单上,并修改它,使其无法提交。这可能是由多种原因造成的:jQuery向表单添加字段而不重新生成服务器上的表单标识,添加或调整字段以更改回调以提交表单等...

我不知道这是肯定的,但在这里,如果我是你,我会做什么,以检查什么是与您的安装:

  • 确保您disinstalled(而不是只禁用)您是否尝试过的模块并不再使用。模块不应该接触核心表,但是谁知道......它不会花费任何东西,它实际上可以释放一些数据库。

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

  • 如果连禁用所有的contrib模块没有帮助(我会非常惊讶的),尝试,如果你认为是你的猫在键盘上走,而你可能有一个全新安装更新核心有一个核心文件打开,或you live with Gordon Brown's family

  • 如果没有,我想到的唯一选择是更深奥的,这种数据库故障,您的浏览器上的油门猴脚本干扰评论和类似的可能性的可能性。

HTH!

+0

我搜索了建议的功能,并尝试禁用一个接一个地执行该功能的功能,现在又重新工作了,这种情况下的罪魁祸首是'input_format_permissions'。我对Drupal相当陌生,所以我也非常感谢Drupal特定的调试清单。 :) – Marco 2009-12-11 07:59:04

+0

不用担心,它开心了! :) – mac 2009-12-11 23:22:49

1

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