L'esempio crea un sotto tema da Garland, ma è sufficientemente generico per qualsiasi tema (spero).
1. Decidere il nome.
Un nome a singola parola va bene, seguendo le regole per i nomi delle variabili di PHP. Ho scelto drupalitalia.
2. Creare il percorso per il tema.
Puoi metterlo in sites/all/themes o sites/default/themes. Ho scelto sites/all/themes/drupalitalia. Controlla che i permessi siano identici rispetto a quelli di themes/garland. Per riuscire ad editare i file potrebbe essere necessario cambiare il gruppo, e mettere i permessi a 775.
3. Preparare il tema.
Bisogna creare solo pochi file per il tema. Il primo, e più importante, è drupalitalia.info. Il file deve usare il nome del tema - drupalitalia, e l'estensione .info. Qui dobbiamo specificare una serie di parametri del tema (vedi http://drupal.org/node/171205).
name = Drupalitalia - modificato Garland
description = Esempio di sotto-tema per DrupalItalia.org.
base theme = garland
core = 6.x
engine = phptemplate
stylesheets[all][] = drupalitalia.css
scripts[] = drupalitalia.js
regions[left] = Colonna sinistra
regions[right] = Colonna destra
regions[content] = Contenuto
regions[header] = Intestazione
regions[footer] = Piè pagina
regions[drupalitalia] = Speciale per questo temaTutto copiato dal tema originale, con qualche eccezione:
base theme bisogna pur dire da quale tema vogliamo ereditare la funzionalità - devi usare la nome 'macchina' cioè il nome usato per il file .infostylesheets[all][] oltre ai file CSS dell'originale specifichiamo anche uno nostro.scripts[] oltre ai file JavaScript dell'originale (se ci sono) specifichiamo anche uno nostro.regions[drupalitalia] oltre ai famosi cinque aggiungiamo anche una regione nostra (perche no?)Il secondo file sarà proprio il file CSS che abbiamo appena definito, drupalitalia.css - ovviamente possiamo darlo un nome qualsiasi, basta che corresponda con quello definito nel file .info:
/* CSS per il nostro tema */
body {
font-family: monospace;
}Cambiamo il font per dare un feedback visivo e per controllare che tutto funziona - poi lo elimineremo.
Il terzo file sarà proprio il file JavaScript che abbiamo definito, drupalitalia.js - di nuovo possiamo dare un nome qualsiasi, basta che corresponda con quello definito nel file .info:
/* JavaScript per la nostra tema */Il prossimo file è template.php, che finirà per contenere codice di temizzazione, se necessario:
<?php
// Codice di temizzazione specifico per la tema
/**
* Override o inserire variabili per page.tpl.php.
* Vedi http://api.drupal.org/api/function/template_preprocess_page/6
*/
function drupalitalia_preprocess_page(&$vars) {
// vuota per ora...
}
/**
* Override o inserire variabili per node.tpl.php.
* Vedi http://api.drupal.org/api/function/template_preprocess_node/6
*/
function drupalitalia_preprocess_node(&$vars) {
// vuota per ora...
}?> finale - non è un errore, fidati.
In fine dovremo modificare page.tpl.php aggiungendo la regione che abbiamo creato. Per fare questo, basta copiare page.tpl.php da themes/garland in sites/all/themes/drupalitalia. E' un file grosso, quindi non metto tutto il contenuto qui, solo le ultime righe dove aggiungiamo nostra regione:
...
</div> <!-- /container -->
</div>
<!-- nostra regione aggiunto -->
<div id="special-region" class="clear-block"><?php print $drupalitalia; ?></div>
<!-- /layout -->
<?php print $closure ?>
</body>
</html>4. Testare la tema.
Fatto. Adesso andiamo in admin/build/themes, dove troviamo un nuovo tema (oooh) chiamato "Drupalitalia - modificato Garland". Clicca su attiva e predefinito, poi 'Salva configurazione' (incrociando le dita). Se tutto va bene, la maggior parte del testo sarà monospace come questo - il nostro controllo visivo che tutto va bene.
Poi controlliamo la nostra nuova regione. Andiamo in admin/build/block/list/drupalitalia dove, nella lista di regioni, prima di 'Disattivato' troviamo 'Speciale per questo tema' mettiamo dentro 'Realizzato con Drupal (module: system)' poi 'Salva blocchi' et voilà mes amis! La goccia è in fondo alla pagina.
Ma c'è un piccolo problema - abbiamo perso il logo nel header. Basta copiare logo.png da themes/garland in sites/all/themes/drupalitalia.
Per i pigri tutti i file sono in allegato. Formatto zip per gli appasionati di Windows.
| Allegato | Dimensione |
|---|---|
| drupalitalia.zip | 2.43 KB |