3.5.2. Filtri esposti di Views. Drupal: Bacheca annunci
Il modulo Views non solo consente di impostare un filtro e visualizzare i materiali, ma permette anche di modificare questi filtri in modo dinamico. Creiamo una piccola bacheca immobiliare utilizzando il modulo Views.
Per poter visualizzare gli annunci, dobbiamo prima creare un tipo di contenuto “Annuncio”. Per farlo, andiamo su Struttura → Tipi di contenuto → Aggiungi tipo di contenuto:
Ora, per il nostro tipo di contenuto, è necessario aggiungere i campi: Numero di stanze, Prezzo, Indirizzo, Telefono e Nome. Andiamo nella scheda Gestisci campi del tipo di contenuto “Annuncio”:
Per il numero di stanze, occorre selezionare il tipo Elenco (testo):
Successivamente bisogna impostare i tipi di appartamento disponibili:
È inoltre necessario aggiungere un campo Prezzo; per questo, selezioniamo il tipo di campo Numero (intero). Nelle impostazioni del campo Prezzo, specifichiamo il prefisso o suffisso in modo che il simbolo della valuta compaia accanto al prezzo:
I campi Indirizzo, Telefono e Nome possono essere creati come tipo Testo (semplice).
Ora che abbiamo creato i campi, procediamo con la creazione di una nuova vista per gli Annunci: Struttura → Views → Aggiungi vista:
Aggiungiamo ora il filtro Numero di stanze e spuntiamo la casella per renderlo un filtro esposto:
Questo permetterà di visualizzare tale filtro sulla pagina degli Annunci:
Ora, se scegliamo uno dei parametri, verrà mostrato solo il tipo di appartamento corrispondente:
Possiamo anche aggiungere qualsiasi altro campo agli Annunci e renderlo un filtro esposto. Aggiungiamo ad esempio anche il campo Prezzo ai filtri esposti.
Quando impostiamo l’operatore Tra (Between), consentiamo all’utente di definire un intervallo di prezzo che preferisce.
Oltre ai filtri esposti, possiamo anche aggiungere un criterio di ordinamento, ad esempio per prezzo, permettendo così agli utenti di scegliere se visualizzare gli annunci in ordine crescente o decrescente di prezzo:
Ora abbiamo un filtro per gli annunci, che resta soltanto da tematizzare.