user_register_form
と呼ばれます。このフックでは、テキストフィールドのデフォルト値を設定しようとしましたが、機能しません。可能なすべての構文を試しました#default_value
、#value
、value
、default_value
、属性配列のイベント。
これは私のコードです。
function pre_registration_form_user_register_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['field_code_postal']['#cache']['max-age'] = 0;
$form['field_code_postal']['#default_value'] = 'COUCOU';
$form['field_code_postal']['#value'] = 'COUCOU';
$form['field_code_postal']['value'] = 'COUCOU';
$form['field_code_postal']['value']['#value'] = 'COUCOU';
$form['field_code_postal']['value']['#default_value'] = 'COUCOU';
$form['field_code_postal']['value']['value'] = 'COUCOU';
$form['field_code_postal']['value']['default_value'] = 'COUCOU';
$form['field_code_postal']['default_value'] = 'COUCOU';
$form['field_code_postal']['#attributes']['value'] = 'COUCOU1';
$form['field_code_postal']['#attributes']['#value'] = 'COUCOU2';
$form['field_code_postal']['#attributes']['default_value'] = 'COUCOU3';
$form['field_code_postal']['#attributes']['#default_value'] = 'COUCOU4';
}
デフォルト値を設定するにはどうすればよいですか?
このドキュメント によると、次のようなことができます
$form['field_code_postal']['widget'][0]['value']['#default_value'] ='COUCOU1';
エンティティ参照フィールドに入力する場合は、他の人のために役立ちます(ファイルもdrupal 8)のエンティティです)使用
$form['field_image']['widget'][0]['target_id']['#default_value']= $file; //
私の場合、カスタムコンテンツタイプのデフォルトの自動ノードタイトルが必要でした。これが、それを実現する方法です。node_formのIDを知った後、以下で変更したいhook_form_FORM_ID_alter()
を作成し、構成するコンテンツを出力しますkint($form['title']);
によるタイトルフィールドこの後、フォームタイトルフィールドの配列構造を決定することができ、以下のコードによってそれを達成しました:$form['title']['widget'][0]['value']['#default_value'] = 'my custom node title';
(Drupal 8.4x)
私の場合、以下のコードはDrupal 8で完全に機能しました:
$form['field_idea_department']['widget'][0]['value']['#default_value'] = "default values";