Ẩn trường văn bản trong hook_form_alter


8

Tôi có một trường field_agent_name. Tôi muốn ẩn trường này trong mô-đun tùy chỉnh của mình bằng hook_form_alter.

Làm như thế nào.

Câu trả lời:


16

Sử dụng định dạng hook_form_FORM_ID_alter là lý tưởng:

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

Thông tin thêm về hook_form_FORM_ID_alter


Bạn không cần phải trả về mẫu $ nếu được tham chiếu.
— Alex Gill

+1 để sử dụng form_id_alter. Khác với nhận xét trên, bạn cũng không cần $ form_state được chuyển qua tham chiếu.
— AyeshK

1
@AyeshK theo tài liệu $ form_state nên được chuyển qua tham chiếu :) hình thức không cần phải trả lại mặc dù
— Clive

1

Mã dưới đây làm việc cho tôi:

function modulename_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'contenttypename_node_form') {
    $form['field_agent_name']['#access'] = 0;
  }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.