Оскільки код, про який ви повідомили, шукає ідентифікатор форми форми вузла, є два випадки.
Друпал 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, усі гачки, що використовуються для зміни форми, реалізованої іншим модулем, отримують $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) { /* … */ }