Nelle Guide precedenti abbiamo visto come assemblare una o più Viste (di tipo EVA) nella pagina di una Entità. Vediamo ora invece come assemblare più Viste dentro una semplice pagina di testo o dentro una Vista principale. Esemplifichiamo entrambi i metodi per costruire il Cruscotto della nostra app di esempio
Il Cruscotto
La nostra app di esempio prevede una pagina "Cruscotto" che mostra all'Utente le informazioni ed i comandi essenziali per agire sia come Richiedente sia come Proprietario:
| Informazioni e comandi per l'utente | Cosa mostra il Cruscotto | Fornito dalla Vista |
| in generale | Il nome dell'Utente, come link che porta al suo profilo, ad esempio per cambiare la password | comando_mio_profilo |
| "Ultimi Messaggi pervenuti": elenco degli ultimi Messaggi inviati all'Utente da altri Utenti, relativamente a sue Richieste o a Richieste altrui sui suoi Attrezzi | ultimi_messaggi_pervenuti | |
| come Richiedente di Attrezzi altrui | "Mie Richieste aperte": elenco delle Richieste aperte dall'Utente, con l'eventuale Prestito attivato | mie_richieste_aperte |
| Comando "Mie Richieste concluse" che porta all'elenco delle Richieste dell'Utente ormai concluse | ||
| Comando "Magazzino" che porta al Magazzino, in cui cercare Attrezzi da chiedere in prestito | ||
| "Mie Richieste concluse ancora da valutare": elenco delle Richieste dell'Utente concluse ma in cui manca la sua valutazione | mie_richieste_concluse (visualizzazione: da_valutare) | |
| come Proprietario di Attrezzi | "Richieste e Prestiti aperti sui miei Attrezzi": elenco delle Richieste sugli Attrezzi dell'Utente non ancora concluse | miei_prestiti_aperti |
| Comando "Miei Prestiti conclusi" che porta all'elenco delle Richieste sugli Attrezzi dell'Utente ormai concluse | ||
| Comando "Miei Attrezzi" che porta all'elenco degli Attrezzi dell'Utente ed al comando per aggiungerne di nuovi | ||
| "Miei Prestiti conclusi ancora da valutare": elenco dei Prestiti dell'Utente conclusi ma in cui manca la sua valutazione | miei_prestiti_conclusi (visualizzazione: da_valutare) |
Le Viste qui sopra elencate sono facilmente costruibili in analogia alle Viste costruite nelle precedenti Guide e non vengono pertanto ulteriormente spiegate. Vediamo invece come assemblarle in una sola pagina "Cruscotto", utilizzando due metodi alternativi, basati su due differenti moduli aggiuntivi.
Viste in una Pagina
Un primo metodo è basato sul modulo "Insert View", che consente di inserire una o più Vista dentro il Campo testuale di una qualunque Entità. Installato ed attivato questo modulo, per inserire una Vista in un Campo testo, basta digitare nel testo il Token:
[view:name=display=args]
in cui:
- name è il nome ad uso interno della Vista, nome elencato da Struttura - Viste. E' l'unico parametro obbligatorio per questo Token.
- display è il nome della Visualizzazione dentro la Vista, nome mostrato nella sezione Altro della Vista come Nome ad uso interno. Se la Vista ha una sola Visualizzazione, si può omettere questo parametro
- args sono gli eventuali argomenti passati ai Filtri contestuali della Vista, separati da /. Se la Vista non prevede Filtri contestuali, su può omettere questo parametro dal Token
Per creare il Cruscotto della app di esempio con questo metodo:
| predisponi i Campi testo a riconoscere il Token [view] | Vai in Configurazione - Formati testo e editor - Html completo - Configura e attiva Insert View |
| crea la pagina "Cruscotto" | Con Contenuto - Aggiungi Contenuto - Pagina base crea una Pagina; come titolo digita "Cruscotto", come Formato del testo seleziona HTML completo, come Alias URL digita "/cruscotto". |
| mostra le informazioni | Digita nel testo della pagina i Token corrispondenti alle Viste [view:comando_mio_profilo] [view:ultimi_messaggi_pervenuti] [view:mie_richieste_aperte] [view:mie_richieste_concluse=da_valutare] [view:miei_prestiti_aperti] [view:miei_prestiti_conclusi=da_valutare] |
Questo metodo è semplice e consente di mescolare le informazioni fornite dalla Viste con testi fissi, immagini ecc. Se però una delle Viste richiamate necessita di valori per i propri Filtri contestuali e questi valori non sono fissi ma dipendono dal contesto in cui la pagina viene richiamata, allora quasi sicuramente occorre passare al metodo successivo.
Viste in una Vista
Un secondo metodo, più potente e leggermente più complesso, è basato sul modulo "Views Field View" che consente di aggiungere dentro una Vista "principale" una o più Viste "secondarie". Installato ed attivato questo modulo, per inserire nella Vista principale una Vista secondaria basta aggiungere nella sezione Campi della Vista principale il nuovo tipo di Campo Visualizza - Globale - Embed a view as a field. This can cause slow performance, so enable some caching. Nella configurazione di questo Campo si specifica la Vista secondaria da richiamare, la sua eventuale Visualizzazione e gli eventuali argomenti da passare.
La Vista principale può passare alle Viste secondarie qualunque valore noto nella Vista principale stessa, compresi eventuali valori a sua volta ricevuti. Si possono creare così catene di Viste che richiamano altre Viste, che però è opportuno limitare per non incorrere in complessità tali delle interrogazioni sul database da rallentare eccessivamente la app o da mandarla in errore.
Nella app di esempio, aggiungiamo quindi una Vista "Cruscotto" basata sull'Utente corrente (in modo da essere certi che la Vista venga mostrata anche quando l'Utente non abbia ancora fatto nulla nella app) e, dentro questa Vista principale, richiamiamo le Viste sopra elencate:
| crea la Vista "Cruscotto" | vai in Struttura - Viste - Aggiungi nuova vista; scegli il nome della Vista ("Cruscotto"); in Mostra scegli Utente; scegli di creare una Pagina e di mostrare il risultato come Elenco non formattato di campi. |
| filtra la Vista sull'Utente corrente | Nella sezione Criteri del filtro aggiungi Corrente - Utente- Filtra la vista con l'utente attualmente autenticato, come operatore seleziona è uguale a e come è l'utente autenticato seleziona si |
| definisci il percorso con cui richiamare il Cruscotto | Nella sezione Impostazione pagina come Percorso digita "/cruscotto" |
| mostra le informazioni | per ogni Vista sopra elencata:
|