sabato 31 maggio 2008

Aiutiamo Firefox a stabilire un nuovo record mondiale

Download Day 2008
Il team degli sviluppatori di Firefox ci invitano a partecipare in un interessante tentativo di stabilire un nuovo record mondiale. Il record da battere è il numero di download eseguiti nelle prime 24 ore dall'uscita della nuova versione. Un po' come si fa per i film. Come possiamo contribuire? Scaricando Firefox il giorno della sua release.

Anche se ancora non è stata stabilita una data di uscita (si pensa nel mese di Giugno), possiamo aderire all'iniziativa dando la nostra disponibilità. Nel momento in cui scrivo questo post, 16.840 persone hanno aderito in Italia. Al primo posto, ovviamente, ci sono gli Usa con 70.193 adesioni...

Dai ragazzi stabiliamo un nuovo record :).

Drupal: impostare delle regioni all'interno di node.tpl.php


Ultimamente mi è capitato sotto le mani un sito in drupal. Per chi non lo conoscesse, Drupal è un cms ben strutturato e flessibile fino all'osso. E' incredibile quanto sia semplice realizzare un proprio tema personalizzato, perfino conoscendo solo html e css. Ovviamente se si vuole personalizzare anche le funzioni, i form e tutto il resto dobbiamo intervenire a livello di codice php. Non sono un'esperto di drupal però sto cercando di imparare il più possibile al riguardo.

Veniamo al punto di oggi. Drupal possiede un sistema di blocchi che vengono generati dal codice dei moduli. Ogni blocco è un elemento che si occupa di una determinata funzione e può essere posto in una qualsiasi area definita come regione all'interno della pagina. Esempi di blocco sono il form per il login, l'elenco degli ultimi commenti o anche un'insieme di link preferiti. 

Normalmente le regioni sono inserite dentro page.tpl.php. Vediamo come inserirne una nel node.tpl.php.

Definiamo una nuova regione per il sito. Questo si effettua andando a modificare il file template.php.

Template.php
/**

 * Dichiarazione delle regioni implementate nel tema.
 *
 @return
 *   Un array di regioni.
 */
function nomeDelTema_regions() {
  return array(
       'left' => t('left sidebar'), 
       'right' => t('right sidebar'),
       'content' => t('content'),     
       'header' => t('header'),
       'footer' => t('footer')
  );
}

Questa è la funzione prima della nostra modifica. Aggiungiamo una nuova regione in questo modo:

Template.php
/**

 * Dichiarazione delle regioni implementate nel tema.
 *
 @return
 *   Un array di regioni.
 */
function nomeDelTema_regions() {
  return array(
       'left' => t('left sidebar'), 
       'right' => t('right sidebar'),
       'content' => t('content'),     
       'header' => t('header'),
       'footer' => t('footer'),
       'node_region' => t('node_region')  //La nostra nuova regione!
  );
}       

In questo modo nel pannello di visualizzazione dei blocchi (Amministra -> Struttura del sito -> Blocchi), sarà disponibile la nuova regione.
Adesso dobbiamo passare la regione al file node.tpl.php. Per fare questo alteriamo le variabili che gli vengono passate.

Aggiungiamo al file template.php la seguente funzione:

Template.php
/**

  *  Permette di alterare le variabili passate ai file del tema.
  *  
  *  @param $hook
  *  Tipo di chiamata.
  *  @param $vars
  *      Le variabili che gli verranno passate.
  */
function  _phptemplate_variables($hook, $vars) {
    //Distinguiamo il tipo di chiamata che viene fatta
    switch($hook) { 
        case 'node' : //Se la chiamata è per un node
            $vars['node_region']= theme_blocks('node_region');  //Aggiungiamo una variabile per la nuova regione.
        break;
    }
    return $vars;
}


Bene, abbiamo fatto la parte più difficile. Adesso non rimane altro che utilizzare la nuova regione :). Inseriamo nel node.tpl.php, nella posizione dove vogliamo stampare la nuova regione il seguente codice:

<? if ($node_region) { ?>

  <div class="node_region"><? print $node_region ?></div>

<? ?>

...e abbiamo finito! Ricordatevi di inserire un blocco nella nuova regione, altrimenti non verrà visualizzato niente...

Non resta che provare il nuovo tema! :D

mercoledì 28 maggio 2008

Il Battesimo del blog

Ciao a tutti! 
Il mio nome è Tiberio e in genere mi occupo di informatica :P. 

Non ho una specializzazione ben precisa e al momento mi occupo un po' di tutto, dalla gestione di server fino allo sviluppo web. In genere vado un po' a momenti e in base a quello a che mi capita. Insomma l'ennesimo nerd sulla piazza. 

L'altra grande passione è la musica. Ascolto un po' di tutto soprattutto Ligabue, Feist e colonne sonore dei telefilm che guardo. Potete trovare il mio profilo Last.Fm qui. Così vi fate anche un'idea di ciò che sento. Praticamente passo ogni momento al pc con la musica.

E' la prima volta che apro un blog, quindi ragazzi non uccidetemi se scrivo qualche cavolata :)
Buona notte!