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