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.

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


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;
  }
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.