เนื่องจากรหัสที่คุณรายงานกำลังมองหา ID ของฟอร์มของฟอร์มโหนดมีสองกรณี
Drupal 6
หากรหัสพยายามแก้ไขฟอร์มที่ใช้เพื่อตั้งค่าการตั้งค่าสำหรับประเภทเนื้อหาก็ควรใช้คำสั่ง IF ต่อไปนี้
if ($form_id == 'node_type_form' && isset($form['identity']['type'])) { /* … */ }
หากรหัสพยายามแก้ไขรูปแบบการแก้ไขโหนดรหัสควรใช้คำสั่ง IF ต่อไปนี้
if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }
Drupal 7 และสูงกว่า
ในกรณีแรกคำสั่ง IF ควรเป็นสิ่งต่อไปนี้:
if ($form_id == 'node_type_form') { /* … */ }
ใช้วิธีการอื่นโดยสมมติว่า mymodule เป็นชื่อย่อของโมดูลของคุณคุณสามารถmymodule_form_node_type_form_alter(&$form, &$form_state, $form_id)
ใช้ได้ ตั้งแต่ Drupal 7 hooks ทั้งหมดที่ใช้ในการเปลี่ยนแบบฟอร์มที่นำมาใช้โดยโมดูลอื่นจะได้รับ$form_id
เป็นพารามิเตอร์สุดท้าย ดูhook_form_alter () , hook_form_FORM_ID_alter () , hook_form_BASE_FORM_ID_alter ()
ในกรณีที่สองคำสั่ง IF นั้นเหมือนกับ Drupal 6
if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }