Utente: Anonymous

La suddivisione in Regioni

Gli argomenti trattati fanno riferimento alla versione 5.x di Drupal

Funzioni principali:
phptemplate_regions()
drupal_set_content($region=NULL,$data=NULL)

I temi possono definire ed implementare un numero generico di regioni.
Le regioni sono essenzialmente contenitori di... contenuti.
Le regioni suddividono la pagina del browser in aree che costituiranno i limiti in cui visualizzare i contenuti stessi. Così, generalmente, tutti i temi hanno una regione per:

  • i contenuti dell’intestazione, header
  • due regioni per i contenuti dei menu laterali, sidebar-left e sidebar-right
  • una regione per i contenuti del fondo pagina, footer
  • una regione centrale, content

ed altre regioni che possono complicare notevolmente il layout del sito.

Definizione delle regioni

Le regioni sono definite mediante una funzione php che torna un array associativo contenente la codifica delle regioni e la loro descrizione utilizzata nella pagina di amministrazione dei blocchi.
La funzione è la seguente:

function phptemplate_regions() {
  return array(
       'left' => t('left sidebar'),
       'right' => t('right sidebar'),
       'content' => t('content'),
       'header' => t('header'),
       'footer' => t('footer')
  );
}

Il primo nome della regione diventa la regione di default per il posizionamento di blocchi nel caso in cui non sia dichiarata espressamente una regione.

Nel caso di PhpTemplate Engine la funzione phptemplate_regions() è contenuta nel file: miosito/themes/engines/phptemplate/phptemplate.engine.
Drupal prima di chiamare questa funzione , verifica se esiste una funzione analoga fornita nei file template del tema corrente e che si chiami miotema_regions().
Per cui, per personalizzare le regioni di un tema, bisogna definire la funzione miotema_regions() nel file template.php nella directory del tema.

function miotema_regions() {
  return array(
       'regione1' => t('regione1'),
       'regione2' => t('regione2'),
       'regione3' => t('regione3'),
       'header' => t('header'),
       'footer' => t('footer')
  );

Nel caso di .theme Engine la funzione è contenuta nel file del tema miotema.theme

Per riempire una regione è possibile utilizzare la funzione

function drupal_set_content($region = NULL, $data = NULL) {
  static $content = array();
  if (!is_null($region) && !is_null($data)) {
    $content[$region][] = $data;
  }
  return $content;
}

Es.: drupal_set_content('left', 'Hello there.')

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Questa domanda serve a verificare che il form non venga inviato da procedure automatizzate
Image CAPTCHA
Enter the characters shown in the image.