Creare un sotto tema in 15 minuti.
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 tema
Tutto 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.info
stylesheets[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 */
E' vuoto per il momento, magari più avanti avremo bisogno di mettere codice qui.
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...
}
Altro file 'vuoto' per il momento. Ho semplicemente aggiunto due funzioni di cui quasi sicuramente avremo bisogno in futuro.
Si, manca un
?>
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 |
---|---|
![]() | 2.43 KB |
Argomenti:
- Versione stampabile
- Accedi o registrati per inserire commenti.
Grazie,
una risorsa davvero preziosa!
Questa guida va bene anche per drupal 7.x ?