Cos'e' Views
Views e' il modulo più iconico di Drupal: un query builder visuale che consente di creare liste, tabelle, slider, blocchi, feed e pagine partendo dai contenuti del sito senza scrivere SQL. In Drupal 10/11 e' nel core e rappresenta lo strumento principale per costruire dashboard, archivi articoli, vetrine prodotti.
Anatomia di una view
Ogni view si articola in:
- Display: come la view appare (Page, Block, Feed, Attachment, REST export)
- Format: layout (Unformatted list, Grid, Table, HTML list)
- Show: cosa renderizzare (Fields, Content teaser, Search result)
- Fields: colonne da mostrare se Show=Fields
- Filter criteria: condizioni WHERE
- Sort criteria: ORDER BY
- Contextual filters: parametri dall'URL
- Relationships: JOIN su entità correlate
Creare una view base
Da /admin/structure/views/add si sceglie il tipo di entità (Content, Users, Files, Media, Taxonomy), si abilita Page e/o Block, si configurano i campi e i filtri. La preview live mostra i risultati man mano.
Filtri contestuali
I contextual filter (argomenti URL) abilitano view dinamiche come "articoli di una tassonomia" o "contenuti di un'autore". L'argomento può essere preso da node ID, nome utente loggato, raw URL component o default custom via PHP.
Relationship: JOIN avanzati
Le Relationship permettono di esporre campi di entità collegate. Esempio: una view di "commenti" può accedere ai campi dell'autore del commento aggiungendo una relationship a User. Senza relationship i campi user non sono disponibili nella view di commento.
Exposed filter
Esponendo i filtri si crea una mini-search form sulla pagina: dropdown per categoria, textfield per testo, daterange. Better Exposed Filters (modulo contrib) trasforma i dropdown in checkbox, radio, slider con UX moderna.
Performance
View con molti risultati e relationships pesanti vanno cacheate con Tag-based cache (default in D10): la cache si invalida automaticamente quando un contenuto correlato cambia. Per query pesanti su molti nodi considerare views_aggregator o un decoupling via Search API.
REST export e JSON
Una view può esporre un display REST export per servire JSON a frontend headless o app mobile. Combinato con JSON:API risolve gran parte dei casi headless senza scrivere codice.
Programmatic alteration
I view possono essere alterati via hook_views_query_alter() per modifiche custom alla query SQL generata. Utile per condizioni che la UI Views non supporta direttamente.
Hai bisogno di aiuto?
Se vuoi un sito Drupal performante dal team di G Tech Group, scrivici tramite il modulo di contatto.