보고 한 코드가 노드 양식의 양식 ID를 찾고 있으므로 두 가지 경우가 있습니다.
드루팔 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) { /* … */ }
드루팔 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) { /* … */ }