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

  • 16 Ago 2014
  • Drupal 7

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.