Drupal 7匿名评论,禁用主页字段

时间:2011-03-17 12:10:11

标签: drupal

在Drupal 7评论中,如何隐藏/禁用匿名评论者的主页字段?

5 个答案:

答案 0 :(得分:4)

虽然这里有很多答案,但没有一个能在一个易于复制和粘贴的块中提供所有代码:

/**
* 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;
}

将此代码放入主题template.php中,将THEMENAME替换为主题名称。

答案 1 :(得分:2)

在drupal安装文件夹中打开文件themes/<your_theme>/templates/comment-wrapper.tpl.php,并在HTML代码前添加此行:

<?php $content['comment_form']['author']['homepage'] = null; ?>

或至少在

之前
<?php print render($content['comment_form']); ?>

这样就可以在显示给用户的表单中停用主页字段。

你也可以做@Robert所说的并选择“匿名海报可能不会留下他们的联系信息”,但你也可以在没有电子邮件信息的情况下发表评论。如果您只想隐藏表单中的主页字段并保留电子邮件(例如,使用Gravatar),那么这一点黑客应该可以解决问题。如果您的网站有多个主题,请确保在显示评论表单的每个主题中都这样做。

答案 2 :(得分:2)

在合适的form_alter()挂钩中,执行以下操作:

$form['author']['homepage']['#access'] = FALSE;

这比使用unset()或将$form['author']['homepage']设置为null更好,如其他答案中所述,因为comment_form_validate()函数会抛出难看的错误。

归功于Art Williams

答案 3 :(得分:1)

管理»结构»内容类型»(您的内容类型)»评论设置»匿名评论»匿名海报可能不会/可能/必须留下他们的联系信息。

答案 4 :(得分:0)

这是三线定制模块解决方案。我通常会为每个站点保留一个custom_site_tweaks模块。

function CUSTOM_form_comment_node_blog_post_form_alter(&$form, &$form_state, $form_id) {
  unset($form['author']['homepage']);
}
BTW:这是一种去激励垃圾邮件的好方法。