Vì mã bạn đã báo cáo đang tìm ID mẫu của biểu mẫu nút, có hai trường hợp.
Drupal 6
Nếu mã đang cố gắng thay đổi biểu mẫu được sử dụng để đặt cài đặt cho loại nội dung, thì nó nên sử dụng câu lệnh IF sau đây.
if ($form_id == 'node_type_form' && isset($form['identity']['type'])) { /* … */ }
Nếu mã đang cố gắng thay đổi hình thức chỉnh sửa nút, thì mã nên sử dụng câu lệnh IF sau đây.
if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }
Drupal 7 trở lên
Trong trường hợp đầu tiên, câu lệnh IF phải là câu lệnh sau:
if ($form_id == 'node_type_form') { /* … */ }
Sử dụng một cách tiếp cận khác, giả sử rằng mymodule là tên viết tắt của mô-đun của bạn, bạn có thể sử dụng mymodule_form_node_type_form_alter(&$form, &$form_state, $form_id)
. Kể từ Drupal 7, tất cả các hook được sử dụng để thay đổi biểu mẫu được thực hiện bởi một mô-đun khác được lấy $form_id
làm tham số cuối cùng. Xem hook_form_alter () , hook_form_FORM_ID_alter () , hook_form_BASE_FORM_ID_alter () .
Trong trường hợp thứ hai, câu lệnh IF được sử dụng tương tự cho Drupal 6.
if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }