3.5.7. Aggregazione dei dati in Views.
Il modulo Views permette non solo di visualizzare i dati provenienti dalle tabelle di Drupal, ma anche di calcolarli e raggrupparli. Questa funzionalità si chiama aggregazione.
Per impostazione predefinita, Drupal include un vocabolario di tassonomia chiamato “Tag”. Creeremo un blocco con i tag più popolari e, accanto a ciascun tag, mostreremo quante volte esso è stato utilizzato nei contenuti del sito. Otterremo un elenco simile al seguente:
Drupal 9 (5)
Drupal 8 (3)
PHP (2)
Per iniziare, è necessario creare alcuni articoli e associare a ciascuno dei tag:
/node/add/article
Dopo aver creato un piccolo numero di articoli, possiamo procedere.
/admin/structure/views/add
Crea una nuova vista di tipo Blocco e seleziona Tassonomia e Tag come base dati:
Abilitare l’aggregazione in Views
Ora è necessario attivare la modalità Use aggregation:
Dopo averla abilitata, compariranno impostazioni aggiuntive di aggregazione per i campi:
Aggiungere una relazione con i contenuti
Aggiungiamo ora la Relazione Content using this term (Contenuto con questo termine):
Spunta l’opzione Require this relationship per contare solo i contenuti che utilizzano effettivamente il tag selezionato:
Aggiungere e configurare i campi
Ora abbiamo bisogno di due campi Term name della tassonomia. Nascondiamo il primo:
Per il secondo campo, impostiamo il tipo di aggregazione su Count (Conteggio):
A questo punto, aggiornando l’anteprima della vista, vedrai già il numero di utilizzi di ciascun termine di tassonomia:
Mostrare il nome del tag con il conteggio
Ora dobbiamo affiancare il nome del tag al numero tra parentesi. Per farlo, utilizziamo il secondo campo, impostando l’opzione Riscrivi risultati (Rewrite results) per mostrare il primo campo nascosto e, tra parentesi, il valore del conteggio.
Nell’elenco a discesa Replacement patterns possiamo vedere quali campi sono disponibili per essere utilizzati nella riscrittura del campo. Inseriamo quindi:
{{ name }} ({{ name_1 }})
Le parentesi graffe {{ }}
derivano dal motore di template Twig. Per ora è sufficiente sapere che, utilizzando questa sintassi, Drupal sostituirà le variabili con i valori dei rispettivi campi.
Risultato finale
Alla fine dovresti avere due campi configurati come mostrato di seguito:
E il risultato nella vista apparirà in questo modo: