Ẩ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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.