在Drupal 7评论中,如何隐藏/禁用匿名评论者的主页字段?Drupal 7匿名评论,禁用主页字段
回答
打开您的Drupal安装文件夹中的文件themes/<your_theme>/templates/comment-wrapper.tpl.php
,和HTML代码前加上这一行:
<?php $content['comment_form']['author']['homepage'] = null; ?>
,或者至少前
<?php print render($content['comment_form']); ?>
有了,你停用网页场以向用户显示的形式显示。
你也可以做@罗伯特所说的,并选择“匿名海报可能不会离开他们的联系信息”,但是你也可以在没有电子邮件信息的情况下允许评论。如果你只想从表单中隐藏主页字段并保留电子邮件(例如,使用Gravatar),那么这种黑客行为应该可以做到。如果您的网站有多个主题,请确保在显示评论表单的每个主题中都执行此操作。
管理»结构»内容类型»(您的内容类型)»评论设置»匿名评论»匿名海报可能不会/可能/必须离开他们的联系信息。
这是三行定制模块解决方案。我通常为每个站点的这种类型的事物保留一个custom_site_tweaks模块。
function CUSTOM_form_comment_node_blog_post_form_alter(&$form, &$form_state, $form_id) {
unset($form['author']['homepage']);
}
BTW:这是去激励垃圾邮件的好方法。
我发现这会产生核心验证功能中关于丢失键“主页”的错误。 'comment_form_validate()(modules/comment/comment.module的第2143行)'' – artfulrobot 2012-08-13 16:28:53
在合适form_alter()
钩,这样做:
$form['author']['homepage']['#access'] = FALSE;
这比使用unset()
或在其他的答案所描述的,因为comment_form_validate()
函数抛出难看错误设定$form['author']['homepage']
到null
更好。
所有信贷Art Williams
虽然有很多答案,在这里他们没有提供所有的代码在一个易于复制和粘贴块:
/**
* Implements hook_form_FORM_ID_alter().
*
* Remove homepage field from comments form.
*/
function THEMENAME_form_comment_form_alter(&$form, &$form_state) {
$form['author']['homepage']['#access'] = FALSE;
}
将这个代码在你的主题模板.php将THEMENAME替换为主题的名称。
- 1. 的Drupal允许匿名评论
- 2. 匿名评论未保存在Drupal
- 3. 覆盖Drupal 7评论表
- 4. Drupal 7 - 论坛页面版主列表
- 5. 评论模块:允许匿名用户回复评论
- 6. Drupal 7:只允许匿名访问者的主页
- 7. 匿名用户表单提交Drupal 7
- 8. 如何在Drupal 7中渲染评论
- 9. 如何在Drupal 7默认主页(提升)的节点上显示评论?
- 10. Facebook的评论不允许发表匿名评论
- 11. Drupal 7-匿名用户拒绝访问某些页面
- 12. 在节点页面主题“字段集合”drupal 7
- 13. Drupal 6模块用于添加类CCK字段的评论?
- 14. Drupal和评论表
- 15. drupal ---评论回复
- 16. drupal评论模块
- 17. 更改drupal评论
- 18. Facebook的FQL评论用户名=匿名用户
- 19. Drupal页面的'评论设置'和页面上的评论不出现
- 20. Zend Db字段评论
- 21. Drupal hook_form_alter匿名用户看不到字段
- 22. Drupal CCK字段对匿名用户不可见
- 23. 在Drupal中添加多个字段(6.19)评论表
- 24. 添加电子邮件字段以发表评论drupal
- 25. 如何禁用Facebook评论显示在博客主页和类别页面上?
- 26. Drupal 7:搜索字段
- 27. Drupal 7文件字段库
- 28. Drupal 7 views_embed_view node.tpl.php字段
- 29. 禁止评论RSS
- 30. drupal - 处理匿名用户
谢谢。这就是我正在寻找的 – 2011-05-04 10:26:45
您实际上想要使用'['#access'] = FALSE;'解决方案。请投票。 – doublejosh 2013-07-01 23:10:18