administrator  Mar.21.2013 0 Comments

Sempre più spesso capita di leggere di persone che hanno problemi con i temi di Drupal perché non riescono a capire quale sia il file corretto da utilizzare oppure il nome corretto della funzione oppure quale è la funzione che viene richiamata per fare apparire una certa cosa. A tutto questo c'è una risposta: utilizzare il modulo devel_themer.

Il modulo devel_themer permette di conoscere cosa è successo all'interno della pagina che stiamo visualizzando per far si che quella pagina appaio ai nostri occhi proprio in quel modo. Con questo modulo di Drupal possiamo finalmente sapere che il blocco del menù di navigazione è gestito graficamente dal file modules/block/block.tpl.php ma che potevamo anche utilizzare i file (in ordine di importanza):

  • block--system--navigation.tpl.php
  • block--system.tpl.php
  • block--sidebar-first.tpl.php
  • block.tpl.php

e come si puo' vedere il file block.tpl.php è l'ultimo nella scala gerarchica di questi file di template Drupal.

(cliccare per ingrandire)
 

Per poter sfruttare questo modulo è necessario installare:

La fase di installazione non è diversa dagli altri moduli Drupal: una volta scaricati i file compressi di questi i 3 moduli, questi vanno scompattati ed inseriti nella cartella sites/all/modules e poi attivati dalla pagina dei moduli. Attenzione al modulo devel: contiene dei sotto-moduli tra cui “Devel generate” e “Devel node access” che vedremo in un prossimo articolo e che in questo momento non ci interessano.

Una volta attivati vedremo subito il modulo devel_themer in funzione perché in basso a destra comparirà un checkbox “Themer info” all'interno di un box nero.

Checkiamolo e spostiamoci con il mouse su una qualsiasi parte del sito web per vedere apparire dei rettangoli rossi. Facciamo una prova ulteriore posizionando il mouse su uno dei titoli delle sezioni di questa pagina e posizioniamo lo poi all'interno di uno dei checkbox delle stessa sezione. Avrete sicuramente notato come i rettangoli diventino sempre più particolareggiati.

Torniamo ora al nostro tema, deselezionando prima di tutto il checkbox “themer info”. Spostiamoci sulla homepage, riselezioniamo il checkbox “themer info” e cliccate su una delle parti principali della vostra pagina, come ad esempio un blocco o un tema; nel caso di esempio ho selezionato il blocco del menù di navigazione e questo è il blocco che appare in alto a destra:

Analizziamolo per scoprire tutto quello che possiamo fare solamente per questo blocco:

  • parents: è l'elenco dei file di template che gestisce quello che abbiamo selezionato (poi vi spiego)

  • template called: è il file di template utilizzato

  • candidate template files: sono i file di template che si possono utilizzare

  • preprocess functions: sono tutte le funzioni di tipo hook_preprocess che sono state richiamate per produrre l'output finale

  • process functions: sono tutte le funzioni di tipo “hook_process” che sono state utilizzate per produrre l'output finale

  • duration: il tempo impiegato dal sistema per creare il tutto

  • … (Array 25 elements): è l'elenco di tutte le variabili (con relativi valori) che è possibile utilizzare all'interno del file di template; vediamone alcune:

  • is_front: è TRUE se quello che siamo sulla frontpage del nostro sito web, altrimenti è FALSE
  • content: è l'HTML finale di quello che andremo a mostrare a video
  • block: è una istanza del blocco che stiamo analizzando (perché in questo momento stiamo analizzando un blocco, se fosse un nodo avremo “node”)
  • user: è l'utente attualmente collegato al sistema con cui stiamo visualizzando quello che stiamo analizzando

Senza addentrarsi oltre nell'elenco degli elementi presenti all'interno del blocco di esempio vi consiglio di provare a cliccare su altre parti della pagina per vedere come e cosa varia all'interno del blocco del modulo Drupal devel_themer così da poterne capire le potenzialità e l'uso che ne potete fare per riuscire a gestire al meglio i vostri template Drupal.