«Il modulo Custom Formatters permette agli utenti di creare facilmente dei formati di visualizzazione personalizzati per i campi, senza la necessità di scrivere un modulo personalizzato. I formati personalizzati possono essere esportati come "CTools Exportables/Features" o come "Drupal API Formatters".»
Spesso capita di dover visualizzare i dati in modo personalizzato: numeri di telefono con formati particolari, indirizzi email parzialmente offuscati, campi concatenati in maniera particolare...
Il modulo Custom formatters permette di creare formati di visualizzazione per ogni tipo di campo senza la necessità di dover creare appositi moduli o template. La possibilità di esportare i formati (e ovviamente importarli su altri siti Drupal) consente di creare dei propri formati da poter riutilizzare in futuro.
Si inizia accedendo alla sezione "Formatters" dal menù "Struttura" ("Structure") e creando un nuovo formato di visualizzazione ("Formatter"). Si specifica un nome e si inserisce un'eventuale descrizione, utile in caso si voglia riutilizzare il formato in futuro; si sceglie un formato di inserimento tra HTML + Tokens e PHP e si seleziona/selezionano il/i tipo/i di campo/i per cui attivare il formato.
In base al formato di inserimento e al tipo di campo su cui si decide di attivare il formato di visualizzazione saranno disponibili diversi dati. Ad esempio creando un formato HTML + Tokens per i campi "Testo lungo e riassunto" si avranno disponibili una serie di dati tra cui il sommario ( [node:summary] ) e il testo completo ( [node:body] ). Usando invece il formato PHP si avrà a disposizione la variabile $variables, che contiene tutto ciò di cui si può aver bisogno, incluso il nodo completo. È utile effettuare un test sul proprio Drupal per avere un dump completo dei dati che si hanno a disposizione ed evitare di impazzire cercando di indovinare la giusta struttura e nomenclatura di ogni oggetto e ogni chiave.
watchdog('DEV', json_encode($variables));
stampa $variables in formato JSON nel registro degli eventi (dblog) ed è un buon modo per partire.