Drupal: modificare il messaggio di status dopo aver creato un nuovo node

Quando si crea un nuovo node, Drupal visulizza il messaggio di status Nome content type ... has been created.

Se fosse un visitatore a creare questo nuovo node, si potrebbe avere il bisogno di eliminare o personalizzare questo messaggio.

La funzione drupal_get_messages ci permette di eliminare la coda dei messaggi del tipo specificato, che in questo caso è status.

Uno dei modi per eseguire questa funzione nella creazione di un node è aggiungere una funzione personalizzata nei submit_handlers del form.

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  switch($form_id) {

    case 'nodetype_node_form':
      $form['#validate'][] = '_custom_feedback_node_form_validate';
      break;
  }
}

function _custom_feedback_node_form_validate($form, &$form_state) {
  $form_state['submit_handlers'][] = '_custom_feedback_node_form_disable_msg';
}

function _custom_feedback_node_form_disable_msg($form, &$form_state) {
   $status_msg = drupal_get_messages('status');
   drupal_set_message(t("Thank you for your interest in this web site!"));
}

Un'altro modo è utilizzare il modulo Disable Messages ma questo per un sito multilingua può risultare poco amichebole.

E così Drupal diventa muto quanto Buster Keaton.