Se una Entità ha un Campo di tipo data viene spontaneo pensare di presentarla, oltre che negli elenchi testuali che abbiamo imparato a costruire con le Viste, anche su un calendario sfogliabile per settimane, mesi o anni. Per ottenere questo risultato, ci basta installare ed attivare uno dei moduli che aggiungono "calendario" ai formati selezionabili nella sezione Formato della Vista. Alcuni di essi non consentono però di scegliere quale Campo di tipo data usare per collocare l'Entità sul calendario, ma utilizzano soli i Campi data predefiniti (data di creazione e modifica).
Il modulo aggiuntivo FullCalendar View consente invece di selezionare un qualunque Campo di tipo data e quindi lo userò in questa Guida. Il modulo aggiunge alla sezione Formato delle Viste il formato Full Calendar Display. Nelle Impostazioni del Formato è possibile selezionare quali calendari mettere a disposizione (mese, anno, settimana, lista ecc.), quale mostrare per default, quali informazioni mostrare dell'Entità ed altri parametri.
Come esempio, vediamo come costruire con questo modulo nella app Vicinato un calendario che elenchi al Proprietario di un Attrezzo i periodi in cui l'Attrezzo è in prestito: questo calendario può aiutare il Proprietario a proporre ai Richiedenti un periodo in cui l'Attrezzo è libero. Ogni periodo è definito dai Campi "Inizio prestito" e "Fine prestito" delle Richieste in corso sull'Attrezzo.
| crea la Vista che elenca al Proprietario le Richieste sull'Attrezzo | In Strutture - Viste aggiungi una Vista di nome "Calendario Attrezzo". che mostra Contenuti di tipo "Richiesta", attiva la creazione di una pagina, come formato seleziona per ora Tabella. In Elementi da visualizzare seleziona 0. Salva Nella sezione Relazioni:
Nella sezione Criteri del filtro aggiungi Utente - Corrente con Relazione "Proprietario", come operatore seleziona è uguale a e come è l'utente autenticato seleziona si |
| predisponi la Vista ad essere richiamata filtrandola su uno specifico Attrezzo | Nella sezione Impostazioni pagina - Impostazione percorso digita il link con cui richiamare il calendario es. "/richieste-calendario" Nella sezione Filtri contestuali aggiungi Contenuto - ID con Relazione "Attrezzo" |
| aggiungi i Campi necessari a posizionare l'Entità nel calendario | Nella sezione Campi aggiungi i Campi di tipo data "Inizio prestito" e "Fine prestito" della Richiesta |
| aggiungi i Campi che identificafo visivamente l'Entità nel calendario | Nella sezione Campi aggiungi
Per comporre tutte queste informazioni nelle caselle del calendario aggiungi un Campo Globale - Testo personalizzato; copia uno ad uno da Sfoglia i Token disponibili i Token dei Campi sopra elencati e incollali in Testo, separandoli con <br>, che è il codice HTML che introduce un ritorno a capo |
| presenta la Vista come un calendario | Nella sezione Formato seleziona Full Calendar Display. Nelle Impostazioni:
|
| (facoltativo) limita temporalmente il calendario | Se il numero di Entità da mostrare nel calendario è elevato e quindi rischia di rallentarne la visualizzazione, puoi limitare il calendario ad un periodo temporale, ad esempio agli ultimi tre anni: nella sezione Criteri del filtro aggiungi il Campo "Inizio prestito", come Operatore seleziona Maggiore di, come Tipo di valore seleziona An offset from the current time e come Valore digita "-3 years" |

Per richiamare il calendario dalla pagina dell'Attrezzo, come abbiamo già visto creiamo una Vista ECA richiamata sul tipo di Entità "Attrezzo", limitata al Proprietario (= Autore dell'Attrezzo) e che mostra un Campo Globale - Testo personalizzato contenente il link
/richieste-calendario/{{ raw_arguments.nid }}