Como customizar um formulário de node no Drupal 6 e 7

E outra coisa que os Drupaleiros brasileiros volta e meia se embolam é em como utilizar aquela tal de "FAPI", ou "Form API", também conhecida como "aquilo que você precisa saber para fazer módulos que customizem os formulários do Drupal".

Atenção: partirei do módulo criado em http://pedrorocha.net/2011/12/como-criar-um-m%C3%B3dulo-para-drupal-6-e-7

Qual meu objetivo com esse módulo: customizar a página de criação do node do tipo Página(page).

Drupal 6

No arquivo meuprimeiromodulo.module, adicionaremos o seguinte trecho de código:

function meuprimeiromodulo_form_page_node_form_alter(&$form, &$form_state) {
  // Exemplo de como mudar o título
  drupal_set_title("Eu quero mudar o título do formulário");
  // Exemplo de como mudar o tamanho do campo body
  $form['body_field']['body']['#rows'] = 3;
  // Exemplo de como mudar o texto do botão "Salvar"
  $form['buttons']['submit']['#value'] = 'E também quero mudar o botão salvar';
  // Exemplo de como adicionar uma função específica sua para ser executada ao
  // salvar o node
  $form['#submit'][] = 'meuprimeiromodulo_meu_submit_especial';
}

function meuprimeiromodulo_meu_submit_especial() {
  /* Aqui vai seu código */
}

Drupal 7

No arquivo meuprimeiromodulo.module, adicionaremos o seguinte trecho de código:

function meuprimeiromodulo_form_page_node_form_alter(&$form, &$form_state) {
  // Exemplo de como mudar o título
  drupal_set_title("Eu quero mudar o título do formulário");
  // Exemplo de como mudar o tamanho do campo body
  $form['body']['und'][0]['#rows'] = 3;
  // Exemplo de como mudar o texto do botão "Salvar"
  $form['actions']['submit']['#value'] = 'E também quero mudar o botão salvar';
  // Exemplo de como adicionar uma função específica sua para ser executada ao
  // salvar o node
  $form['#submit'][] = 'meuprimeiromodulo_meu_submit_especial';
}

function meuprimeiromodulo_meu_submit_especial() {
  /* Aqui vai seu código */
}