在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. Drupal 7 - 論壇頁面版主列表
- 6. 評論模塊:允許匿名用戶回覆評論
- 7. Drupal 7:只允許匿名訪問者的主頁
- 8. 匿名發貼Facebook評論?
- 9. 禁用分類標記字段 - drupal 7
- 10. 匿名用戶表單提交Drupal 7
- 11. Drupal 7 - 多種語言的評論
- 12. 如何在Drupal 7中渲染評論
- 13. Drupal 7:Zen主題,在節點上顯示評論數
- 14. 如何在Drupal 7默認主頁(提升)的節點上顯示評論?
- 15. Facebook的評論不允許發表匿名評論
- 16. Drupal 7 - 查看主題字段tpl
- 17. Drupal 7-匿名用戶拒絕訪問某些頁面
- 18. XML RPC WordPress的匿名評論張貼
- 19. 在Socialengine匿名發表評論
- 20. 匿名評論的Wordpress插件
- 21. Drupal 7使用字段
- 22. drupal 7頁面tpl主題
- 23. Drupal 7個人主頁
- 24. 在節點頁面主題「字段集合」drupal 7
- 25. drupal ---評論回覆
- 26. Drupal和評論表
- 27. 更改drupal評論
- 28. drupal評論模塊
- 29. Drupal 6模塊用於添加類CCK字段的評論?
- 30. Facebook的FQL評論用戶名=匿名用戶
謝謝。這就是我正在尋找的 – 2011-05-04 10:26:45
您實際上想要使用'['#access'] = FALSE;'解決方案。請投票。 – doublejosh 2013-07-01 23:10:18