Indice

🟦Pronta 🟨Bozza 🟥Da scrivere

La tua prima Vista

Costruire una Vista con l'editor. Filtri nascosti e esposti. Ricerca nella Vista. Paginare e proteggere la Vista.
Aggiornata il:
Stato: 🟦Pronta

Come primo esempio, costruiamo una semplice Vista che elenca i Libri nella app di esempio "Miei Libri", che realizza la pagina "Biblioteca" prevista nella app.

Creare una nuova Vista

Ecco come creare una nuova Vista:

1. Creare la Vista: In Struttura - Viste clicca  Aggiungi nuova vista e digita il nome della nuova vista (es. "Biblioteca")

2. Selezionare cosa mostrare: In Mostra seleziona che tipo di Entità mostrare nella Vista (es. contenuto di tipo "Libro")

3. Descrivere la Vista: Attiva l'opzione Descrizione e descrivi a tua memoria futura cosa fa la Vista (es. "Elenco dei miei Libri") 

4.Definire il link con cui richiamare la Vista: In Percorso digita il link con cui sarà richiamata la Vista (es. "/biblioteca")

5. Scegliere come mostrare le Entità: Attiva la creazione di una Pagina, mostra il risultato come Tabella.. In Elementi da visualizzare scegli quanti elementi mostrare per pagina (es. 20) e attiva Usare un paginatore. Salva.

La tua prima Vista è già pronta al link da te indicato (https://TUOSITO/biblioteca) e elenca le Entità da te scelte (in questo caso i Libri)

L'editor della Vista e le sue sezioni

Salvata la Vista, si apre automaticamente l'editor della Vista (Views UI), composto da diverse sezioni, ognuna delle quali configura un aspetto della Vista. Imparare a costruire le Viste consiste essenzialmente nell'imparare cosa scrivere o selezionare nelle diverse sezioni dell'editor. Ecco una rapida spiegazione delle diverse sezioni, che saranno dettagliate a mano a mano che ci serviranno per costruire le Viste di esempio.

(*) Questa sezione cambia nome e contenuto in base al tipo di Visualizzazione: si chiama Impostazione pagina se si è scelto di creare una pagina.

Nell'editor troviamo precaricate le scelte già effettuate al momento della creazione della Vista; per l'esempio sopra riportato: 

  • nella sezione Visualizzazioni compare una Visualizzazione di tipo Pagina e, come Formato ritroviamo Tabella
  • nella sezione Impostazioni pagina - Percorso compare il link di richiamo della Vista ("/biblioteca")
  • nella sezione Criteri del filtro compaiono due Filtri, uno che limita la Vista ai soli Contenuti "pubblicati" e l'altro che la limita ai soli Contenuti di tipo "Libro".
  • nella sezione Campi compare il Campo "Titolo" dei Libri
  • nella sezione Paginazione compare l'esistenza di un paginatore ogni 20 elementi

Se abbiamo già caricato nella app qualche Libro di prova, sotto Anteprima possiamo già vedere come si presenterà la Biblioteca: una tabella che elenca 20 Libri per pagina, con i comandi per cambiare pagina. 

Vediamo ora come migliorare questo primo risultato, mostrando altre informazioni sui Libri e riordinando i contenuti.

Come elencare le Entità (sezione Formato)

La sezione Formato della Vista definisce come mostrare l'elenco delle Entità. I Formati disponibili nativamente sono Tabella (una riga per ogni Entità, una colonna per ogni Campo mostrato), Responsive grid (griglia di Entità), Elenco non formattato (una riga per ogni Campo di ogni Entità) ecc. I moduli aggiuntivi possono aggiungere nuovi formati, ad esempio vedremo più avanti come presentare Entità georeferenziate su una mappa. 

FORMATO TABELLA

Il formato Tabella è quello più intuitivo. Può però risultare di difficile consultazione su uno schermo piccolo, come quello degli smartphone, nel caso che vogliamo mostrare molte informazioni (quindi molte colonne) per ogni Entità. Per risolvere questo problema ci sono diverse soluzioni.

Aggregare più Campi in una sola colonna: Entrando nelle Impostazioni del Formato, è possibile selezionare per ogni Campo la Colonna in cui mostrarlo, che può essere la colonna del Campo stesso oppure la colonna di un altro Campo, riducendo così il numero di colonne della tabella; in questo caso, possiamo anche specificare il Separatore, cioè il carattere o la sequenza di caratteri che separano i diversi Campi aggregati nella stessa colonna: ad esempio, possiamo digitare uno spazio bianco oppure la sequenza "<br>" che è un codice HTML che introduce un ritorno a capo tra i Campi.

Classificare i Campi per priorità: Entrando nelle Impostazioni del Formato, è possibile selezionare per ogni Campo il valore Responsive: i Campi per i quali selezioniamo "Alto"  sono sempre mostrati, indipendentemente dalle dimensioni dello schermo, mentre quelli con "Medio" o "Basso" sono mostrati solo se le dimensioni dello schermo lo consentono.

Questi metodi lavorano Vista per Vista. Se invece si vuole una soluzione che lavora automaticamente su tutte le Viste, si può installare il modulo aggiuntivo "Responsive Tables Filter". Una volta attivato, in Configurazione - Responsive Tables è possibile selezionare una dei metodi di restringimento delle tabelle, tipicamente Stack. Attivato il metodo, ci pensa Drupal automaticamente a impilare verticalmente i Campi se lo schermo è stretto. Ecco un esempio dell'effetto di questo modulo:

Tabella mostrata su uno schermo largo:

La stessa tabella su uno schermo stretto:

FORMATO ELENCO

Da Scrivere

Aggiungere Campi nelle sezioni

La configurazione di molte sezioni dell'editor delle Viste consiste nell'aggiunta e nella configurazione di Campi. Le modalità di identificazione, selezione e configurazione di un Campo sono sempre le stesse e quindi sono spiegate qui, una volta per tutte:

1. Aggiungere Campi ad una sezione della Vista: Clicca Aggiungi a fianco della sezione. Appare una finestra Aggiungi Campi, che elenca tutti i Campi disponibili per quella sezione.

2. Selezionare un Campo ed aggiungerlo alla sezione: Nella finestra  Aggiungi Campi seleziona in Categoria il tipo di Entità cui appartiene il Campo (es. se stai cercando il nome utente degli Utenti, in Categoria seleziona Utente). In Cerca digita una parte del nome del Campo (es: "nome"); se ci sono più Campi con lo stesso nome, verifica nella colonna Descrizione che il Campo sia quello desiderato. Identificato il Campo, per selezionarlo accendi la casella a fianco del Campo e clicca Aggiungi e configura campi. 

3. Collegare il Campo all'Entità principale della Vista: Nella finestra di configurazione del Campo, seleziona la Relazione che permette di raggiungere il Campo. Se il Campo è uno dei Campi dell'Entità principale su cui stai costruendo la Vista, non selezionare nulla. Sul concetto di Relazione torneremo in una prossima Guida, quindi per ora non preoccuparti se non è chiaro.

4. Completare la configurazione del Campo: In base alla sezione in cui stai lavorando ed al Campo selezionato, la finestra di configurazione può chiedere altre informazioni, che spiegheremo più avanti, caso per caso; alla fine clicca Salva

5. Riordinare i Campi nella sezione: l'ordine con cui i Campi sono elencati nella sezione è importante, perché Drupal li considera in quell'ordine. Ad esempio, nella sezione Criteri di ordinamento, se i Campi "Nome" e "Cognome" sono elencati in quest'ordine, le Entità saranno ordinate prima per nome e poi per cognome (quindi "Andrea Doria" verrà prima di "Carlo Bianchi"). Per riordinare i Campi elencati in una sezione, clicca Rearrange a fianco della sezione.

Quali Campi mostrare (sezione Campi)

La sezione Campi elenca i Campi da mostrare o comunque da considerare.  Ad esempio, nella Vista "Biblioteca" della app "Miei Libri" possiamo aggiungere nella sezione i Campi "Autore", "Categoria" e "Scaffale" con la modalità sopra descritta. Di default, i Campi di tipo riferimento sono mostrati come link all'Entità richiamata; quindi il Campo "Autore" è mostrato come un link alla pagina che mostra i dettagli dell'Autore, facilitando così la navigazione nella app. 

Se per un Campo accendiamo l'opzione Escludi dalla visualizzazione, il Campo non sarà mostrato ma diventa disponibile per altri scopi, ad esempio per costruire un Campo Globale - Testo personalizzato in cui mostrarlo insieme ad altre informazioni.

Se l'ordine con cui i Campi sono mostrati non ti soddisfa, nella sezione Campi clicca Rearrange e riordinali. 

Modificare l'ordine delle Entità (sezione Criteri di ordinamento)

La sezione Criteri di ordinamento elenca i Campi secondo cui le Entità devono essere ordinate nella Vista. Ad esempio, volendo ordinare i Libri nella Biblioteca per titolo del Libro, aggiungiamo nella sezione il Campo Contenuto - Titolo e specifichiamo ascendente. 

Se ci sono più Campi nella sezione, vengono usati da Drupal nell'ordine in cui sono elencati. Ad esempio, se vogliamo ordinare i Libri per Autore e poi per titolo, aggiungiamo anche il Campo "Autore" e poi nella sezione spostiamo il Campo "Autore" sopra il Campo "Titolo".

Filtrare le Entità (sezione Criteri del filtro)

La sezione Criteri del filtro elenca i Filtri con cui selezionare le Entità da elencare nella Vista. Ogni Filtro è formato da tre parti:

  • il Campo su cui agisce il Filtro (es. "Stato")
  • l'operatore con cui svolgere il confronto (es. è uguale a)
  • il valore da confrontare col contenuto del Campo (es. "Prestabile")

Per aggiungere un Filtro si aggiunge il Campo e poi si configura il Filtro selezionando l'operatore e specificando il valore (se previsto dall'operatore).

Quando si costruisce una nuova Vista, di default Drupal mette il Filtro "Contenuto pubblicato = Si", che evita di mostrare Contenuti nascosti.


Filtri Esposti (sezione Criteri del filtro)

I Filtri impostati nella sezione Criteri del filtro non possono essere modificati dall'Utente che sta usando la app.Se però attiviamo l'opzione Esponi questo filtro, per permettere ai visitatori di modificarlo, il Filtro viene mostrato all'Utente, perché possa modificarne il valore ed eventualmente anche l'operatore, ma non il Campo su cui agisce. Ad esempio, nella Vista "Biblioteca" possiamo esporre il Filtro che limita la Vista ai soli Libri prestabili, per consentire all'Utente di scegliere se vedere anche i Libri ritirati dal prestito.

Cercare nella Vista (sezione Criteri del filtro)

Nella sezione Criteri del filtro è disponibile il Campo speciale Globale - Combina filtri dei campi, che consente di aggiunge alla Vista una funzione di ricerca sulle Entità elencate.

1. Aggiungere la ricerca nella Vista: Nella sezione Criteri del filtro aggiungi il Campo Globale - Combina filtri dei campi ed attiva l'opzione Esponi questo filtro, per permettere ai visitatori di modificarlo: all'Utente viene mostrata una caselle in cui digitare le parole da cercare

2. Regolare la ricerca: Come operatore seleziona Contiene ogni parola, in modo da poter stringere la ricerca digitando più parole

3. Scegliere dove cercare: In Scegli i campi da combinare per il filtraggio seleziona i Campi testuali in cui cercare. I Campi devono essere presenti nella sezione Campi

Ad esempio, nella Vista "Biblioteca" possiamo aggiungere il Campo Globale - Combina filtri dei campi, specificando come operatore l'opzione Contiene ogni parola e come Campi in cui cercare selezionare il titolo, l'Autore e la Categoria.

Paginare la Vista (sezione Paginazione)

Se le Entità elencate sono molte, conviene dividere l'elenco in pagine, configurando la sezione Paginazione: in questa sezione seleziona Risultati paginati, paginatore ridotto oppure Risultati paginati, paginatore completo e regola la pagina specificando quante Entità mostrare in ogni pagina.

Proteggere la Vista (sezione Accesso)

Con la sezione Accesso possiamo proteggere la Vista, limitandone la visibilità a specifici insiemi di Utenti. Le protezioni offerte nella sezione Accesso sono:

  • Permesso: la Vista elenca le Entità tenendo conto dei Permessi degli Utenti sulle Entità. 
  • Ruolo: la Vista elenca le Entità solo agli Utenti che hanno uno o più Ruoli specificati  
  • Senza restrizioni: la Vista elenca le Entità a qualunque Utente, compresi i Visitatori

Il risultato dipende dalla combinazione tra questa impostazione, i Permessi attribuiti ai diversi Ruoli ed eventuali Permessi gestiti da moduli aggiuntivi. Salvo necessità più complesse, la soluzione più semplice è selezionare qui la protezione per Ruolo.

Aggiungere informazioni per l'Utente (sezione Intestazione o Piè di pagina)

Nella sezione Intestazione possiamo aggiungere Campi che mostrano informazioni all'Utente sopra l'elenco delle Entità, non riferite ad una specifica Entità. In questa sezione è disponibile il Campo speciale Globale - Area di testo in cui digitare un testo fisso da mostrare. E' anche disponibile il Campo Globale - Riassunto del risultato - Mostra il riassunto del risultato, che mostra il numero di Entità mostrate, accompagnato da un testo a piacere.

Ad esempio, per mostrare il numero di Libri elencati nella Vista "Biblioteca" aggiungiamo il Campo Globale - Riassunto del risultato e in Visualizzazione digitiamo "Ci sono @total Libri. Clicca su un Libro per i dettagli", dove @total viene automaticamente sostituito dal numero di Libri elencati.

Per mostrare le informazioni sotto l'elenco, inserisci il Campo nella sezione Piè di pagina.