2011-03-17 68 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替換爲主題的名稱。