2011-03-17 74 views

回答

2

打开您的Drupal安装文件夹中的文件themes/<your_theme>/templates/comment-wrapper.tpl.php,和HTML代码前加上这一行:

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

,或者至少前

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

有了,你停用网页场以向用户显示的形式显示。

你也可以做@罗伯特所说的,并选择“匿名海报可能不会离开他们的联系信息”,但是你也可以在没有电子邮件信息的情况下允许评论。如果你只想从表单中隐藏主页字段并保留电子邮件(例如,使用Gravatar),那么这种黑客行为应该可以做到。如果您的网站有多个主题,请确保在显示评论表单的每个主题中都执行此操作。

+0

谢谢。这就是我正在寻找的 – 2011-05-04 10:26:45

+1

您实际上想要使用'['#access'] = FALSE;'解决方案。请投票。 – doublejosh 2013-07-01 23:10:18

1

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

0

这是三行定制模块解决方案。我通常为每个站点的这种类型的事物保留一个custom_site_tweaks模块。

function CUSTOM_form_comment_node_blog_post_form_alter(&$form, &$form_state, $form_id) { 
    unset($form['author']['homepage']); 
} 

BTW:这是去激励垃圾邮件的好方法。

+0

我发现这会产生核心验证功能中关于丢失键“主页”的错误。 'comment_form_validate()(modules/comment/comment.module的第2143行)'' – artfulrobot 2012-08-13 16:28:53

2

在合适form_alter()钩,这样做:

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

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

所有信贷Art Williams

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

将这个代码在你的主题模板.php将THEMENAME替换为主题的名称。