Opiskelin taas hiukan lisää Drupalia tästä mainiosta kirjasta. Nyt selvisi sekin, miten teemoissa voi helposti tehdä erilaiset layoutit eri sivuille tai sisältötyypeille.

Oletuksena sivupohjana on page.tpl.php. Etusivulle on erikoistapaus page-front.tpl.php, jolla voi siis kustomoida etusivun erilaiseksi. Jos taas URLina on vaikkapa /uutiset/kategoria/otsikko, niin Drupal etsii sivupohjia tässä järjestyksessä ja valitsee niistä ensimmäisenä löytyneen:

  1. page-uutinen-kategoria-otsikko.tpl.php
  2. page-uutinen-kategoria.tpl.php
  3. page-uutinen.tpl.php
  4. page.tpl.php

Sisältönoodeille puolestaan on normaalisti pohjana node.tpl.php. Se saa muuttujan $page=true silloin, kun ollaan näyttämässä noodia omalla sivullaan. Jos noodi taas esitetään osana listausta, niin $page=false. Kun katsellaan sisältöä, jonka tyyppi on "contenttype", niin Drupal etsii sivupohjia tässä järjestyksessä:

  1. node-contenttype.tpl.php
  2. node.tpl.php

Blokeille on vastaava järjestelmä, jonka oletuspohjana on block.tpl.php. Niitä voidaan kustomoida joko moduulin nimen tai regionin (sivupohjan alue, jonne blokki on sijoitettu) mukaan. Delta on tässä moduulin blokkien järjestysnumero, jota käytetään silloin, kun moduuli tarjoaa useita blokkeja:

  1. block-modulename-delta.tpl.php
  2. block-modulename.tpl.php
  3. block-region.tpl.php
  4. block.tpl.php

Näillä eväillä Drupalilla toteutetun saitin ulkoasun voi kustomoida oikein joustavasti halutulla tarkkuudella.

Published 14.8.2008