Tutti i modi per visualizzare un messaggio in Drupal
In questa breve guida vi illustrerò tutti i modi che avete per mostrare dei messaggi in Drupal usando il php. Sia a video, sia nel file di log.
AGGIORNAMENTI
10/12/2012 creazione articolo
In questo manuale, vedremo cosa offre Drupal per la visualizzazione dei messaggi, naturalmente usando codice php.
Spesso mi chiedono se esistono dei Drupal Module da usare in particolare. Io rispondo che sono sufficienti gli strumenti standard (a parte l'onnipresente modulo Devel).
PRIMO: dsm
Tecnica eccezionale per chi sviluppa
dsm($my_value);
Questo codice lo si può usare solo in presenza del modulo
DEVEL installato. In pratica stampa a video tutto il contenuto della variabile passata (funziona sia per variabili semplici che complesse).
SECONDO: drupal_set_message
Vediamo ora come stampare a video un messaggio utente:
drupal_set_message('mio messaggio', 'warning', true);
dove:
'mio messaggio': è il messaggio che si vuole mostrare a video.
'warning': è il tipo di messaggio che si sta mostrando. Associato al tipo di messaggio c'è sempre anche la grafica. I tipi che si possono indicare sono 'status' (messaggio normale), 'warning' (messaggio di attenzione, tipicamente su sfondo giallo) e 'error' (messaggio di errore, tipicamente su sfondo rosso).
true: se il messaggio è stato già impostato non viene ripetuto.
In php se si vuole mostrare un messaggio, in generale, è sempre disponibile il codice:
echo 'mio messaggio';
oppure
print 'mio messaggio';
TERSO: scrivere nei log
Se vogliamo, infine, scrivere un messaggio nei log di Drupal allora si deve:
watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL)
dove:
$type: indica la sorgente che ha scritto il messaggio, utile in caso di filtro dei messaggi stessi
$message: il messaggio da mostrare
$variables: eventuali variabili da sostituire nel $message
$severity: indica la tipologia del messaggio, valori utilizzabili:
WATCHDOG_EMERG -- Emergency: system is unusable.
WATCHDOG_ALERT -- Alert: action must be taken immediately.
WATCHDOG_CRITICAL -- Critical: critical conditions.
WATCHDOG_ERROR -- Error: error conditions.
WATCHDOG_WARNING -- Warning: warning conditions.
WATCHDOG_NOTICE -- Notice: normal but significant condition.
WATCHDOG_INFO -- Informational: informational messages.
WATCHDOG_DEBUG -- Debug: debug-level messages.
$link: eventuale link alla pagina che contiene l'errore