Temizzare una vista: iniziamo dalle basi

Facciamo finta di avere un tipo di contenuto chiamato “notizie” formato da un titolo, da un corpo e da una immagine di intestazione. Come possiamo farli diventare la nostra nuova homepage ? Tramite le viste. Come possiamo rendere diversa dallo standard la loro visualizzazione ? Sempre tramite le viste. Vediamo le basi per temizzare una vista (view).
Molti utenti di drupal che utilizzano il modulo “view” per creare delle pagine o dei blocchi non conoscono tutte le potenzialità che si possono sfruttare utilizzando al meglio questo modulo Drupal; costruiscono facilmente una raccolta di notizie definendo i campi di base come il titolo della pagina o la presenza del paginatore in relazione al numero di elementi da far vedere in ogni singola pagina, ma non sanno ad esempio che con pochi click è possibile modificare come verranno mostrate le notizie all'utente visitatore.
Sto parlando dello stile della pagina (“style” se usate l'installazione non localizzata in italiano) che per default è “non formattata” o “unformatted”, il che vuole dire che i campi scelti da visualizzare saranno raggruppati e mostrati un gruppo sotto l'altro. Esattamente quello che succede nella pagina di frontend standard di Drupal. Ma molti non sanno che il modulo view mette a disposizione altri tre stili :
-
griglia
-
HTML list (<li>)
-
Tabella
Altra cosa che non sempre si conosce è la possibilità di modificare la visualizzazione della singola riga (o cella se utilizzate un griglia): per default questa visualizzazione avviene tramite i fields (campi) definiti all'interno del box “Fields (campi)”, mostrando un campo sotto l'altro nell'ordine scelto in ques'ultimo box. Esiste pero' un secondo stile ed è il “node” dove noi possiamo scegliere di costruire la visulizzazione come se stessimo guardando il teaser o la visualizzazione a tutta pagina; questo ci permette di non definire quali sono i campi da visualizzare, ma di utilizzare tutti i campi del nodo creando un file di template adatto al nostro scopo.
Torniamo alla visualizzazione a campi e lasciamo la modalità “nodo” per un prossimo articolo. Una volta che abbiamo deciso quali sono i campi e come vogliamo visualizzarli dobbiamo sistemare la loro visualizzazione. Come detto poco fa per default il modulo view visualizza i campi definiti nel box “Fields” uno sotto l'altro utilizzando la loro posizione, in questo box, come ordinamento. Ma la vera potenzialità risiede nella possibilità di temizzare questa visualizzazione attraverso l'uso di quelle che potremmo definire scatole logiche dove si passa da quella più grande e più generalista per arrivare a quella più piccola e specifica di un singolo campo. Queste scatole sono:
-
display output: qui si definisce, ad esempio, come far visualizzare il titolo della pagina oppure come visualizzare il paginatore
-
style output: lo stile del singolo raggruppamento
-
row style output: lo stile della singola riga di campi
-
X style : lo stile del singolo campo X (esisterà uno stile per ogni campo scelto nel box “Fields”)

Per ognuna di queste scatole logiche il modulo view permette di utilizzare alcuni file di template che a loro volta partono da quello più generalista per arrivare a quello della singolo campo della vista. Questi che seguono sono i file di template, ordinati per peso partendo da quello minore (il generalista), della scatola “row style output” di una futura pagina web:
-
views-view-fields.tpl.php
-
views-view-fields--archivetmp.tpl.php
-
views-view-fields--default.tpl.php
-
views-view-fields--page.tpl.php
-
views-view-fields--archivetmp--page.tpl.php
Io di solito uso sempre l'ultimo così da definire un file di template che vada bene solamente per questo tipo di display (page), per questa vista (archivetmp), ma che mi permetta di avere a disposizione tutti i campi definiti nel box Fields così da costruire un file di template ad-hoc. E come tutti voi ho iniziato con il capire quale è il contenuto del template standard definito dal modulo view per ogni singola scatola: basta premere sul nome della scatola per far apparire il template standard utilizzato.
E per chiudere vi propongo una immagine che rappresenta la temizzazione di un blocco di Drupal tramite l'uso di 2 template creati ad-hoc, uno per la scatola logica “style” (il contorno formato dal titolo , dalla barra verde, etc) ed uno per la scatola logica “row” (la costruzione della singola linea con l'uso di tag html e classi definite a tale scopo) che sto utilizzando su fitnesspeople.it, un social network site creato esclusivamente con Drupal.






