3.5.1. Filtri e ordinamento in Views.
Per prima cosa, dobbiamo imparare come visualizzare blocchi e pagine utilizzando Views. Iniziamo con le pagine: mostreremo tutti gli articoli presenti sul nostro sito.
Visualizzare le pagine tramite Views
Creiamo la nostra prima vista andando nel menu Gestione → Struttura → Views.
Ora dobbiamo inserire il nome della nostra vista e scegliere cosa vogliamo visualizzare: contenuti, commenti, utenti o tassonomie (in questo caso visualizzeremo gli articoli). Selezioniamo il filtro per tipo di contenuto Article. Nelle impostazioni di ordinamento, indichiamo che gli articoli più recenti devono apparire per primi:
Ora selezioniamo Create page se vogliamo creare una pagina o Create block se vogliamo creare un blocco. Creiamo prima una pagina con tutti gli articoli. Dobbiamo inserire il percorso (path) della pagina e il suo nome. Possiamo anche scegliere il formato di visualizzazione e il numero di articoli per pagina — analizzeremo queste impostazioni più avanti.
Clicchiamo su Save and edit. Ora analizziamo tutte le parti del costruttore di Views, una per una.
Aggiungere e rimuovere
In una singola View possono esserci più display separati. Questo è molto utile quando, ad esempio, vuoi visualizzare tutti gli articoli in una pagina ma solo 5 articoli in un blocco (sì, puoi mostrare blocchi e pagine dalla stessa View). È possibile ridefinire le impostazioni per ciascun display separatamente. Per ora non è necessario preoccuparsene — quando ne avrai bisogno potrai configurarlo, ma inizialmente puoi creare una View distinta per ogni esigenza.
Formato
Nel campo Format possiamo scegliere il tipo di formato con cui visualizzare i risultati. I formati principali (predefiniti) sono:
- HTML list – genera un elenco con il tag
<ul>
. - Unformatted list – genera una lista senza marcatura, con
<div>
. - Grid – mostra gli elementi in una griglia senza intestazioni (utile per visualizzare immagini, puoi impostare il numero di colonne).
- Table – mostra i risultati in tabella con intestazioni, utile per elencare molti campi o informazioni strutturate.
Campi o teaser?
Possiamo scegliere di mostrare i contenuti sotto forma di teaser o tramite campi specifici. Dalle lezioni precedenti hai imparato come modificare i campi dei teaser. Ora impostiamo l’output per campi:
Ora possiamo aggiungere i campi: ad esempio mostriamo Title e Body del nodo.
Clicchiamo su Add e selezioniamo il campo Content: Body.
Ora abbiamo due campi: titolo e contenuto. Possiamo anche aggiungere data di pubblicazione, autore o categoria. Nel campo Body possiamo inoltre tagliare il testo a un certo numero di caratteri e aggiungere i tre puntini. Per farlo, clicchiamo sul campo Body e nella finestra delle impostazioni di output selezioniamo Trim this field to a maximum length e impostiamo il numero di caratteri da visualizzare:
Spuntiamo anche la casella Remove HTML tags per evitare la presenza di tag HTML non chiusi nel testo.
Ora abbiamo i nostri campi, ma possiamo anche creare filtri per determinare quali nodi visualizzare.
Filtri
Attualmente abbiamo due filtri: uno per visualizzare solo i nodi pubblicati e uno per mostrare solo gli articoli. Possiamo però modificarli o aggiungerne altri.
Cliccando su Add possiamo scegliere tra vari filtri predefiniti. Ad esempio, possiamo mostrare solo articoli più recenti di una settimana. Aggiungiamo quindi un filtro Content: Authored on e nelle impostazioni scegliamo Value type: -7 days.
Se tra i filtri appare Use Files..., rimuovilo e seleziona invece il filtro per tipo di contenuto:
Per eliminare un filtro, clicca sulla freccia accanto al pulsante Add e scegli Rearrange; nella finestra che appare puoi rimuoverlo. Poi aggiungi un filtro per tipo di contenuto.
È anche possibile filtrare per autore, tag, categorie e molti altri criteri. Puoi sperimentare liberamente con i filtri. Ora passiamo all’ordinamento.
Ordinamento
Oltre a mostrare solo i contenuti desiderati, possiamo ordinarli nel modo che preferiamo.
Per ora, l’ordinamento avviene per data di pubblicazione: più recente è l’articolo, più in alto appare nella lista (se impostiamo l’ordine crescente, sarà il contrario). Possiamo però aggiungere un campo Weight ai nostri articoli, impostandolo come intero positivo (minimo 1). Consulta la lezione precedente per sapere come aggiungere campi ai tipi di contenuto.
Ora aggiungiamo un criterio di ordinamento: Content: Weight, impostando l’ordine decrescente — quindi gli articoli con peso maggiore appariranno per primi nella lista.
Con i filtri l’ordine non è cruciale (tranne nei casi in cui si usano condizioni particolari come OR), ma con l’ordinamento bisogna fare attenzione: i risultati vengono ordinati secondo ciascun criterio in sequenza. Ad esempio, se il primo criterio è la data di pubblicazione, i risultati saranno ordinati per data e solo in caso di articoli con la stessa data verrà applicato il criterio successivo. Poiché le date di pubblicazione sono registrate fino al secondo, è raro che due articoli abbiano esattamente la stessa data, quindi l’ordinamento successivo non si applicherà. Per questo conviene scambiare l’ordine dei criteri, in modo da ordinare prima per Weight e, in caso di pareggio, per data di pubblicazione.
Per farlo, clicca sulla freccia accanto al pulsante Add e seleziona Rearrange, poi usa le croci per modificare l’ordine dei criteri di ordinamento.
Salva la View. Ora puoi creare alcuni articoli, visitare la pagina /articles
(o il percorso che hai definito nella tua View) e vedere il risultato: