Tutorial Drupal Views: Conoscere e creare una vista con Drupal

Drupal Views (Guida da completare)
 Il modulo Views permette ai webmaster di drupal di creare, gestire e visualizzare elenchi di contenuti e quindi un modo di presentare i contenuti e le tabelle. Essenzialmente esso è un generatore di query che, date alcune informazioni, può creare query, eseguirle e portare a visuale i dati in pagine, blocchi o altri formati. Ogni singola vista inoltre può avere multiple visualizzazioni

Ma passiamo all’azione installando il modulo nella solita cartella sites/all/modules ed abilitando in Amministra/moduli le spunte su Views – Views UI (che abilita l’interfacia utente per modificare le viste)e Views Exporter (utile per esportare il codice di una vista gia creata e importarla in un altro sito).

In Amministra/Costruzione del Sito, clicchiamo su Viste (o Views se in inglese la nostra copia di Drupal) ed accediamo ad un elenco dove troviamo alcune viste gia pronte, alcune inserite automaticamente da altri moduli che abbiamo installato, altre gia presenti nel core di Views stesso. Notiamo inoltre che alcune di esse sono disablitate. Accanto ad ogni vista abbiamo alcune opzioni: Modifica ed entriamo nel cuore vero e prorio di views ke spiegheremo a breve , Esporta che è l’opzione che abbiamo abilitato nei moduli per  esportare la vista ed importarla altrove,, Clona utilissimo per clonare appunto la vista e dargli un nome nuovo senza intaccare la precedente ed infine Elimina che si spiega da sola. Le viste gia presenti costituiscono un ottimo esercizio per districarsi nel views ed alcune sono poi molto utili per fini ke vedremo più tardi, quando avremo acquisito maggiori conoscenze sul modulo. In alto troviamo Tools che serve per impostare alcune impostazioni generali, Importa che assolve alla funzione precedentemente illustrata con l’exporter, Aggiungi crea una nuova vista da zero, Elenco torna dove siamo ora. Cominciamo con Tools:

TOOLS (Fase Avanzata):

La prima voce abilita una stringa speciale nella proposizione Where (ci riferiamo al db) ed è utile per tener facile traccia delle query nel db. Si usa solo in caso di problemi e stiamo cmq in una fase più avanzata.

La seconda voce salta la possibilità di mettere in cache i dati delle viste e può avere un forte impatto con le prestazioni del sito.

La terza serve per disabilitare la noisa notifica dell’installazione del Advanced Help (c’è questa guida, no?)

La quarta serve per  mostrare l’anteprima del lavoro che facciamo col views in alto o in basso alla vista. Lasciamola in basso.

La quinta mostra l’esecuzione di altre query merntre è in atto la renderizzazione della vista nell’anteprima.

La sesta serve solo per eliminare l’effetto al passaggio del mouse sui link.

La settima abilita le statistiche di prestazioni se il modulo Devel è abilitato.

L’ottavadisabilita javascripts se crea problemi con views.

La successiva personalizza in quale regione del tema visualizzare le statistiche

L’ultima seleziona il campo any come deve essere visualizzato.

Infine in alto a tutto troviamo un pulsante per svuotare la cache di tutte le viste.

 

Clicchiamo Su aggiungi e qui comincia la costruzione della nostra vista, stabilendo prima un nome della vista (carattere minuscolo e underscore), poi una descrizione per la vista che stiamo costruendo ed una categoria di appartenenza (è solo un modo per facilitare la ricerca della vista nel pannello di amministrazione).

In View Type (tipo di vista) possiamo scegliere tra varie opzioni. La decisione influenza gli argomenti, i campi i filtri e i criteri di ordinamento che troveremo  nella costruzione della vista. Per avere tutto il possibile usiamo Nodo (la scelta non è più modificabile!)

Creiamo un tipo di Vista nodo e poi andiamo Avanti, fino ad arrivare a ciò , che a primo acchito può scoraggiare molti di voi o cmq apparire confusionaria. Ma è solo questione di tempo, perché scoprirete con l’uso, di quanto sia ben organizzata l’interfaccia utente per lavorare.

VIEWS UI (INTERFACCIA UTENTE):

TIPI DI VISUALIZZAZIONE

Cominciamo con la colonna all’estrema sinistra che contiene tutti i tipi di visualizzazioni possibili per la nostra vista (estendibili con altri moduli…si pensi  al panel…).

I tipi di visualizzazione dicono a views dove andranno i dati. Ogni visualizzazione puà avere impostazioni proprie, ma quando è creata, una visualizzazione prende tutte le sue impostazioni di base dalla visualizzazione di default che tutte le viste hanno e devono avere. La visualizzazione Default  svolge un ruolo fondamentale perché da le impostazioni generali a tutti i tipi di visualizzazioni che andiamo a creare Ogni modifica alle impostazioni di una visualizzazione (se  non si usa la funzione override) va a modificare tutte le impostazioni delle altre visualizzazioni. Vediamo una ad una i tipi di visualizzazione che possiamo creare:

Default: La visualizzazione default conserva le impostazioni comuni a tutte le altre visualizzazioni. Quindi modificate un parametro qui ed esso sarà modificato a tutte le altre.

Pagina: creiamo una vera e propria pagina con un path (percorso) un link di menu( eventuale ).

Le pagine prendono i loro argomenti dall’URL:possiamo inserire argomenti usando %

Blocco: un vero e prorio blocco che ritroveremo nella apposita sezione Blocchi e posizionabile in qualsiasi regione del tema.

I blocchi non accettano argomenti, l’argomento utilizzato sarà quello della visualizzazione default

Feed: Permette di allegare un feed rss ad una vista

Allegato: Questo tipo di visualizzazione si allega ad un’altra visualizzazione nella stessa vista. Quando la visualizzazione è visitata, la visualizzazione allegato verrà resa visibile sopra, sotto o sopra e sotto la visualizzazione principale. Gli allegati sono utili ad es per visualizzare una vista con argomento sommario insieme ad una pagina che accetta gli argomenti e creare una sorta di glossario.

Una volta ggiunta la visualizzaizone preferita, pasiamo alla seconda colonna

COLONNA BASIC SETTINGS

Nome :modifichiamo il nome della visualizzazione della colonna di sinistra, quindi è solo un modo di ricordarci che cosa fa quella visualizzazione rispetto alle altre che andremo a creare.

Titolo:Questo è il titolo della visualizzazione quando andremo a visitarla. Lasciando Nessuno non avremo nessun Titolo.

Stile:  Gli stili rappresentano il modo in cui verranno visualizzati i dati della nostra vista.  In parole povere, uno stile rappresenta  un template attraverso cui verranno visualizzati i dati. Tutti gli stili possono essere liberamente sovrascritti con template personalizzati collocati nella directory principale del proprio tema (vedi “Temizzare views”)

Di default abbiamo “senza formattazione”, Lista Html ordinata o meno, Griglia in cui possiamo personalizzare le colonne in numero e in posizione (orizzontale e verticale).Infine tabella (la più potente ) che ci permette numerose opzioni di configurazione(spiegare meglio)

Senza formattazione è molto semplice: i campi sono visualizzati uno dopo l’altro racchiusi in un tag <div> così che può essere facilmente personalizzato manipolando il CSS della vista

Grid: lo stile griglia visualizza ogni riga della vista dentro ad una griglia; è personalizzabile nel decidere quante colonne deve avere (per un max di 4) ed in quale ordine allineae le righe (se orizzontale o verticale)

RSS output style: si rendi disponibile solo scegliendo il tipo di visualizzazione “Feed”. Pertanto  esso visualizzerà la vista come un feed RSS, che serve essenzialmente per visualizzarlas come XML. Questo risultato non sarà visibile aglli utenti ma utilizzabile con l’aggregator.

Table: Stile tabella, ogni riga della tabella corrisponderà ad una riga dei risultati della vista. Nelle opzioni della tabella ogni campo della vista viene presentato con altre informazioni aggiuntive:

Column: di default ogni campo è disposto in una colonna. Possiamo però posizionare più campi nella stessa colonna. Per farlo si sceglie il campo che deve rappresentare la colonna, prendere un altro campo  e impostare il valore in column scegliendo il campo che rappresenta la colonna. Così possiamo fare per gli altri campi da disporre nella stesa colonna, però solo il primo campo sarà ordinabile.

Separatore: se ci sono più campi nella stessa colonna puoi inserire un separatore tra un campo e l’altro. Ad esempio |, o la virgola o un bullet. Ma se nn ci sono altri campi nella colonna, il separatore non sarà visualizzato.

Sortable: Se selezionato l’intestazione della colonna sarà ordinabile.

Default sort si può attribuire un ordine di default attribuito  ad una colonna (sia ascendente che discendente).

HTML List: quindi un elenco ordinato o meno

Row  Style: La voce stile riga è cosa verrà visualizzato dentro una vista. Mi spiego meglio, possiamo scegliere lo stile Nodo e pertanto visualizzeremo un nodo per riga, campi allora visualizzeremo i campi scelti nella riga. Abbiamo diversi tipi di stili riga:

Comment RSS item row style, questo stile riga è disponibile solo se è stato scelto lo stile Feed RSS disponibile quando creiamo un tipo di visualizzazione Feed. Questo stile crea l’XML necessario per un feed rss ai commenti;

Stile riga campi, il quale visualizza ogni campo definito nella vista, uno dopo l’altro. Di default ogni campo è inserito in un tag <div> a meno che non venga selezionata  nelle opzioni dello stile riga campi (cliccando sull’ingranaggio si accede alle opzioni) si scelga l’allineamento dei campi e pertanto saranno inseriti in un tag <span>. Due oggetti in un <div> saranno visualizzati uno dopo l’alto, con il secondo sotto il primo; due oggetti in un tag <span> saranno visualizzati uno accanto all’altro sulla stessa linea. E’ possibile inoltre inserire un separatore tra i campi che può essere scritto anke in html (ad es. per avere uno spazio &nbsp;)

Node RSS item row style disponibile solo per lo stile RSS e crea l’XML necessario per un feed rss per il campo del nodo.

Stile riga nodo visualizza ogni oggetto della vista attraverso la funzione node_view(). Non è possibile avere un gran controllo (personalizzazioni) con questo tipo di vista ma la cosa si può fare attraverso il meccanismo di personalizzazione del tema della vista (generalmente node.tpl.php e le sue varianti) nel theme information. Views aggiunge inoltre node-view-VIEWNAME.tpl.php utile per personalizzare solo quella vista specifica e differenziarla da tutte le altre. Questo tipo di stile non utilizza i campi e quindi la sezione campi sarà disabilitata. Infine questo tipo di stile produce un gran ammontare di query e pertanto può avere influenza negativa sulle prestazioni.   

Anche questa sezione viene incrementata da altri moduli. Da notare che in quasi tutti i parametri ke andiamo a modificare è presente un link Override che fa si che quel parametro sia usato solo da quella visualizzazione che non si prenderà invece quello di default e quindi non influenzerà gli altri tipo di visualizzazione (perché ogni modifica lasciata in default influenza tutte le altre visualizzazioni.

Se3guono un’altra serie di opzioni che non necessitano di una vera e propria spiegazione anke perché dipendono dai gusti e dalle necessità dell’utilizzatore. Ad es

Usa Ajax scegliamo se utilizzare ajax e quindi se si la pagina non verrà ricaricata;

In voci da visualizzare mettiamo un limite ai risultati che dovrà darci la vista (ad es. 10) e poi abilitiamo il paginature in modo da consultare i  risultati sfongliandone le pagine.Si può llimitare l’accesso alla vista ad un ruolo oppure al ruolo che ha un particolare permesso, si possono scrivere informazioni nell’intrestazioni o in calce alla vista o scrivere direttamente in php ecc.

Theme information, cambia il tema della vista. Riferirsi all’ultimo capitolo della guida.

COLONNA  IMPOSTAZIONI VISUALIZZAZIONE

La colonna successiva muta  a seconda del tipo di visualizzazione scelta e mostra una serire di informazioni amministrative, come il titolo che dovrà avere ad esempio il blocco, un link a quella vista,ecc. Meritano di specificazione solo un paio di opzioni.

·         Opzioni menu:  Da qui è possibile creare un link alla vista all’interno di un menù. Per un semplice link basta selezionare  Voce di menu normale ed inserire il nome del link e il menu in cui deve essere visibile; inve scheda di menu è molto più complesso:

o   Tutte le schede devono avere un genitore, che rappresenta il livello gerarchico più alto. Se ad es il path della vista è esempio/scheda il genitore deve essere ‘esempio’

o   Tutte le schede devono avere un'unica scheda predefinita

o   Se il genitore non esiste, quando si crea la scheda predefinita, views permetterà di crearlo

o   Drupal supporta solo 2 livelli di schede.

o   Ad es se abbiamo 2 viste che vuoi visualizzare come schede dobbiamo:

§  Nella prima vista impostare il path ‘schede/scheda1’. Impostarla come scheda predefinita, impostare il titolo a scheda1 e peso 0;

§  Cliccare aggiorna e sarete mandati ad una form in cui inserire il genitore. Fino a quando esso nn esiste, selezionare Voce di menu normale e impostare il titolo a schede.

§  Sulla seconda vista impostare il path schede/scheda2, impostarla come scheda menù e mettere come titolo scheda2. Fatto ciò avremo nel menù Navigation (o altro da voi scelto in voce di menu normale) con un link chiamato schede, quando la clicchiamo avremo le due schede create, con scheda1 che appare per prima di default. (nb un risultato simile è possibile ottenerlo con lìuso del modulo quick tabs, il qual oltre alle viste come in questo caso, permette di mettere in schede anke nodi, o blocchi ed altro).

·         Opzioni path: alcuni tipi di visualizzazione necessitano di un path (come pagina e feed) il che significa che esso puo essere ricevuto direttamente chiamando un url come classe primaria di una pagina del tuo sito. Un oggetto dopo il path sarà passato alla vista come argomento. Ad es se il path è foo/bar e l’utente visita http://www.example.com/foo/bar/baz/beta baz e beta saranno dati come argomenti alla vista che possono essere configurati nell’apposita sezione. Possiamo anke fissare un path per rappresentare gli argomenti che vengono nel mezzo. Ad esnode/%/someview.

COLONNA RELAZIONI

COLONNA ARGOMENTI

COLONNA CRITERI D’ORDINE

COLONNA FILTRI

OVERRIDE

INSERIRE UNA VISTA IL ALTRE PARTI DEL SITO

Una vista può essere facilmente visualizzabile in altre parti del sito: il modo più semplice è utilizzando al funzione views_embed_view():

/**

* Inseriamo una vista con PHP.

*

* This function is meant to be called from PHP snippets, should one wish to

* embed a view in a node or something. It's meant to provide the simplest

* solution and doesn't really offer a lot of options, but breaking the function

* apart is pretty easy, and this provides a worthwhile guide to doing so.

*

* @param $name

* The name of the view to embed.

* @param $display_id

* The display id to embed. If unsure, use 'default', as it will always be

* valid. But things like 'page' or 'block' should work here.

* @param ...

* Any additional parameters will be passed as arguments.

*/

function views_embed_view($name, $display_id = 'default') {

Ad esempio creiamo un pagina e dopo aver insrito questo codice  utilizziamo il format di input “filtro php” (abilitarlo nei moduli), stessa cosa con I blocchi: creiamo un nuovo blocco, inseriamo il codice e usiamo il filtro php e poi inseriamo il bllocco dove vogliamo attraverdo la sezione blocchi che ci permetterà di posizionarlo in una regione del tema o ancora richiamando.

Un altro metodo è l’utilizzo del modulo insert views che permette l’inserimento di viste all’interno di un campo body o corpo in un tipo di contenuto.

 

LE VISTE DI DEFAULT

VISTE DI ESEMPIO: applicazioni pratiche

VISTE DI DEFAULT

INTRECCI CON IL CCK

Se utilizziamo lo stile riga campi saremo molto limitati nella scelta degli stessi se non abbiamo installato il cck, in quanto potremo gestire solo titolo e body. Attraverso cck possiamo creare una moltitudine di campi tutti richiamabili in una vista e quindi creare intrecci sempre più complessi (creare guida a parte)

INTRECCI CON IL PANELS

MODULI  RELAZIONATI (Ampliare Views)

 
Drupal: 

Ti potrebbero anche interessare:

La normativa italiana sulla firma digitale

 

L’Italia è stato uno dei primi paesi a dotarsi di un complesso normativo per la regolamentazione della firma digitale, prima ancora che si sviluppasse il commercio elettronico, col fine principale di semplificare le procedure burocratiche nei rapporti con la pubblica amministrazione e nella contrattistica.
Risorse per sviluppo: