コメントフォームフィールド(コアコメントモジュール)では、コメンテーターが独自のエピソードを思い付くように、コメントの著者名を空のままにします。
それを行う最も簡単な方法は何ですか?
これを行うにはいくつかの方法があります。
オプション1を選択すると、将来的に他の要件に合わせてフォームを変更する際の柔軟性が高まるため、
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
カスタムモジュールを使用することにしたが、明確な理由がないため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
これは、私がJavaScriptで実行するような単純なTweakです。
$(document).ready(function() {
var editbox = $('#edit-name');
if (editbox.val() == 'Anonymous' {
editbox.val('');
}
});
テーマのどこかにポップし、ページが読み込まれると名前フィールドがクリアされます。