Indice

Variazioni di una Vista

Creare copie di una Vista o nuove Visualizzazioni di una stessa Vista, per non partire da zero.
Aggiornata il:
Stato: 🟩Pronta

Creare una nuova Vista come variazione di una Vista esistente

A mano a mano che costruisci le diverse Viste che compongono la tua app, è probabile che ti accorga che una nuova Vista che ti serve è uguale ad un'altra, salvo per qualche dettaglio. Ad esempio, nella app "Vicinato" vogliamo avere due Viste sugli Attrezzi molto simili tra loro: la Vista "Magazzino", che elenca tutti gli Attrezzi prestabili e la Vista "Tuoi Attrezzi", che elenca tutti gli Attrezzi dell'Utente corrente inclusi quelli ritirati dal prestito. Sempre nella app "Vicinato", vogliamo diverse Viste sulle Richieste, simili tra loro sulla modalità di elencazione delle Richieste ma con diversi filtri (Richieste inviate dall'utente corrente, Richieste ricevute dall'utente corrente, Richieste su un Attrezzo ecc.).  

In tutti questi casi, invece che ripartire da zero, può risultare conveniente creare la nuova Vista partendo da quella esistente, modificandone poi il comportamento. Ci sono due modalità per creare una nuova Vista come variazione di una esistente: 

  • fare una copia della Vista di partenza
  • aggiungere una nuova Visualizzazione nella Vista di partenza

Spieghiamo entrambi i metodi, evidenziandone pro e contro.

Copiare una Vista

Per creare una nuova Vista come copia di una Vista esistente:

duplica la Vista di partenzaIn Struttura - Viste seleziona Duplica a fianco della Vista da cui vuoi partire. Dai un nome differente alla nuova Vista (es. "Tuoi Attrezzi") e modifica anche il nome interno (es. "tuoi-attrezzi"), che altrimenti Drupal costruisce come variazione poco significativa del nome interno della Vista di partenza.
differenzia il link delle due VisteNella sezione Impostazioni pagina della nuova Vista modifica il Percorso (es. "tuoi-attrezzi") per evitare che Drupal si confonda nel richiamare le due Viste.  
differenzia il comportamento delle due VisteNelle altre sezioni della nuova Vista apporta le modifiche necessarie a differenziarla dalla Vista di partenza, ad esempio cambia i filtri applicati alle Entità dalla sezione Criteri del filtro e i Campi mostrati dalla sezione Campi.
se la nuova Vista non appareSe richiamando il link della nuova Vista viene mostrato un errore di "Pagina non trovata", vai in Configurazione - Sviluppo - Prestazioni e clicca Svuota la cache per forzare l'aggiornamento dei link riconosciuti da Drupal.

PRO: è semplice e ed azzera la possibilità di rovinare la Vista di partenza. CONTRO: ogni miglioramento apportato nella Vista di partenza o nella Vista derivata non si propaga automaticamente all'altra Vista.  

Aggiungere una Visualizzazione alla Vista

Invece che creare la nuova Vista come copia autonoma della Vista di partenza, possiamo creare una nuova Visualizzazione dentro la Vista di partenza:

crea la nuova Visualizzazione nella Vista di partenzaDentro la Vista di partenza, nella sezione Comandi di gestione della Visualizzazione seleziona Duplica page. Nella sezione Visualizzazioni appare una seconda Visualizzazione di nome "page". Da qui in poi, prima di effettuare una qualunque modifica, assicurati di agire sulla Visualizzazione desiderata (originale o nuova) cliccandovi sopra.
distingui la nuova Visualizzazione dalla Visualizzazione originale Clicca su Nome visualizzato della nuova Visualizzazione e rinominala (es. "Tuoi Attrezzi") per distinguerla facilmente da quella di partenza.
Differenzia il link delle due VisualizzazioniNella sezione Impostazioni pagina della nuova Visualizzazione modifica il Percorso differenziandolo da quello della Visualizzazione originale (es. "tuoi-attrezzi")  
differenzia il comportamento delle due Visualizzazioni

Nelle altre sezioni della nuova Visualizzazione apporta le modifiche necessarie a differenziarla dalla Visualizzazione di partenza, ad esempio cambia i filtri applicati alle Entità dalla sezione Criteri del filtro e i Campi mostrati dalla sezione Campi.

Quando apporti una modifica in una delle due Visualizzazioni, nella casella Per di selezione del Campo puoi decidere se applicarla a tutte le Visualizzazioni della Vista oppure solo alla Visualizzazione selezionata in quel momento. Il pulsante in fondo conferma tale scelta: 

se la nuova Visualizzazione non appareSe richiamando il link della nuova Vista viene mostrato un errore di "Pagina non trovata", vai in Configurazione - Sviluppo - Prestazioni e clicca Svuota la cache per forzare l'aggiornamento dei link riconosciuti da Drupal.

PRO: ogni miglioramento apportato in una Visualizzazione può essere facilmente propagato automaticamente alle altre Visualizzazioni. E' il metodo standard con cui tra poche Guide costruiremo le EVA. CONTRO: una variazione pensata per una Visualizzazione rischia di essere applicata anche alle altre rovinandone il comportamento, se non si sta attenti alla selezione della casella Per.

ATTENZIONE: Anche se formalmente è possibile attribuire protezione diverse nelle sezioni Accesso delle diverse Visualizzazioni di una medesima Vista, nella mia esperienza sembra che l'ultima variazione scritta nella sezione Accesso di una Visualizzazione si propaghi automaticamente a tutte le altre. Quindi se si intende avere due Viste con protezioni diverse (es. una per gli Utenti e un'altra riservata all'Amministratore) conviene creare due copie distinte e non due Visualizzazioni della stessa Vista.