Ponieważ zgłoszony kod szuka identyfikatora formularza formularza węzła, istnieją dwa przypadki.
Drupal 6
Jeśli kod próbuje zmienić formę używaną do ustawienia ustawień dla typu zawartości, powinien użyć następującej instrukcji IF.
if ($form_id == 'node_type_form' && isset($form['identity']['type'])) { /* … */ }
Jeśli kod próbuje zmienić formularz edycji węzła, wówczas kod powinien użyć następującej instrukcji IF.
if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }
Drupal 7 i wyższy
W pierwszym przypadku instrukcja IF powinna być następująca:
if ($form_id == 'node_type_form') { /* … */ }
Używając innego podejścia, zakładając, że mymoduł jest krótką nazwą twojego modułu, możesz użyć mymodule_form_node_type_form_alter(&$form, &$form_state, $form_id). Od Drupala 7 wszystkie haki użyte do zmiany formy zaimplementowanej przez inny moduł stają się $form_idostatnim parametrem. Zobacz hook_form_alter () , hook_form_FORM_ID_alter () , hook_form_BASE_FORM_ID_alter () .
W drugim przypadku instrukcja IF jest taka sama, jak w przypadku Drupala 6.
if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }