Textfeld in hook_form_alter ausblenden

8

Ich habe ein Feld field_agent_name. Ich möchte dieses Feld in meinem benutzerdefinierten Modul mit hook_form_alter ausblenden.

Wie macht man das.

Cindrella
quelle

Antworten:

16

Die Verwendung des Hook_form_FORM_ID_alter-Formats ist ideal:

function MODULENAME_form_CONTENTTYPE_node_form_alter(&$form, &$form_state, $form_id) {
  $form['field_agent_name']['#access'] = FALSE;
}

Weitere Informationen zu hook_form_FORM_ID_alter

felix
quelle
Sie müssen das $ -Formular nicht zurückgeben, wenn es referenziert ist.
Alex Gill
+1 für die Verwendung von form_id_alter. Abgesehen von dem obigen Kommentar muss $ form_state auch nicht als Referenz übergeben werden.
AyeshK
1
@ AyeshK gemäß den Dokumenten $ form_state sollte als Referenz übergeben werden :) Das Formular muss jedoch nicht zurückgegeben werden
Clive
1

Der folgende Code hat bei mir funktioniert:

function modulename_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'contenttypename_node_form') {
    $form['field_agent_name']['#access'] = 0;
  }
}
Cindrella
quelle