Comme le code que vous avez signalé recherche l'ID de formulaire du formulaire de nœud, il y a deux cas.
Drupal 6
Si le code essaie de modifier le formulaire utilisé pour définir les paramètres d'un type de contenu, il doit utiliser l'instruction IF suivante.
if ($form_id == 'node_type_form' && isset($form['identity']['type'])) { /* … */ }
Si le code essaie de modifier le formulaire de modification du nœud, le code doit utiliser l'instruction IF suivante.
if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }
Drupal 7 et supérieur
Dans le premier cas, l'instruction IF doit être la suivante:
if ($form_id == 'node_type_form') { /* … */ }
En utilisant une approche différente, en supposant que mymodule est le nom court de votre module, vous pouvez utiliser mymodule_form_node_type_form_alter(&$form, &$form_state, $form_id)
. Depuis Drupal 7, tous les hooks utilisés pour modifier la forme implémentée par un autre module sont $form_id
comme dernier paramètre. Voir hook_form_alter () , hook_form_FORM_ID_alter () , hook_form_BASE_FORM_ID_alter () .
Dans le second cas, l'instruction IF est la même que celle utilisée pour Drupal 6.
if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }