web-dev-qa-db-ja.com

コメントの作成者名からデフォルトの「匿名」を削除するにはどうすればよいですか?

コメントフォームフィールド(コアコメントモジュール)では、コメンテーターが独自のエピソードを思い付くように、コメントの著者名を空のままにします。

それを行う最も簡単な方法は何ですか?

7
daphshez

これを行うにはいくつかの方法があります。

  1. カスタムモジュール-誰かがあなたのためにそれを書いてさえいる- http://drupal.org/node/240610#comment-1096024
  2. string overrides を使用-匿名を[空の文字列]に変更
  3. コメントモジュールから削除します-コンテンツ管理->コンテンツタイプとノードタイプの[編集]をクリックして、「匿名の投稿者は連絡先情報を入力できない場合があります」を有効にします。
  4. Javascriptを使用する-誰かもこれを書いた- http://drupal.org/node/240610#comment-2051378

オプション1を選択すると、将来的に他の要件に合わせてフォームを変更する際の柔軟性が高まるため、

1
wiifm

hook_form_alter()

http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_form_alter/7

デフォルトのテキストを空に設定するなど、任意のフォームに接続して変更できます。有効な要素が何であるかについて、さらにいくつかのヘルプがあります。

http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html

開始する最良の方法は、mymodule_form_alter()関数を作成し、printを使用して$form_idを印刷することによりフォームIDを特定し、ページの上部に表示することです。 (またはさらに良いことに、develモジュールを使用してDrupalステータスメッセージで出力します)。フォームIDがわかったら、ifを追加して、そのフォームのみを操作してから、配列を変更して、不要なデフォルト値を削除します。

実装例については、ほとんどすべてのモジュールを見てください。多くのモジュールがこのフックを使用しています。頭上にある具体的な例は考えられませんが、負荷はあります。

編集:これは問題についての良いLullabotブログ投稿です... Drupal 6とDrupal 7この点で、AFAIK: http://www.lullabot.com/articles/modifying-forms-drupal-5-and-6

3
Greg

カスタムモジュールを使用することにしたが、明確な理由がないためName入力ボックスにAnonymousを取得する人のためのメモ、およびそれらのhook_form_alter(またはhook_form_comment_form_alter)は問題ありません。

以前に使用した名前を保存するためにcommentのモジュールJavaScriptが使用するcomment_info_name Cookieを必ず削除してください。見つけるのに少し時間がかかりました...

それはすべてここの1つの場所でカバーされています: http://jan.tomka.name/blog/how-remove-anonymous-name-comment-form

2
Jan Tomka

これは、私がJavaScriptで実行するような単純なTweakです。

$(document).ready(function() {
    var editbox = $('#edit-name');
    if (editbox.val() == 'Anonymous' {
        editbox.val('');
    }
});

テーマのどこかにポップし、ページが読み込まれると名前フィールドがクリアされます。

1
Paul Jones