Drupal 7 Omega Theme, installazione di un subtheme utilizzando drush e Omega Tools

La versione 3 del tema Omega per Drupal 7 si sta rivelando estremamente interessante, in quanto supporta in modo nativo lo sviluppo di temi con tecniche di Responsive Web Design (se non sapete di cosa sto parlando, leggetevi Responsive Web Design pubblicato da ABookApart). Creare un sottotema da utilizzare per lo sviluppo del proprio tema è un'operazione estremamente semplice utilizzando il modulo Omega Tools e Drush.

L'installazione di Drupal che sto utilizzando è un'installazione multisito; gli alias per drush sono stati già configurati nel file /home/linuxuser/.drush/aliases.drushrc.php, (dove linuxuser è il nome utente), mentre gli alias per Drupal sono configurati nel file drupal-path/sites/sites.php.

Con drush configurato e funzionante, scaricare il tema Omega, Omega Tools e creare il proprio sottotema è semplice come scrivere un paio di comandi. Qui suppongo di lavorare sul sito miosito.com di cui ho già configurato l'alias:

drush @miosito dl omega omega_tools

sucessivamente, abilito omega_tools scrivendo:

drush @miosito en omega_tools

E' possibile visualizzare i comandi drush aggiunti da omega tools, scrivendo:

drush @miosito help | grep omega

L'output sarà qualcosa del tipo:

Other commands: (colorbox,drush_make,drush_make_d_o,omega_tools,views,views_bulk_operations)
 omega-subtheme        Create a Omega subtheme.

al momento di scrivere risulta implementato il solo comando per la creazione di un sottotema. Per avere maggiori dettagli è possibile digitare:

drush @miosito help omega-subtheme

e verrà mostrato l'elenco delle opzioni disponibili:

This command will create a Omega subtheme.

Examples:
 drush omega-subtheme "My Theme"           Creates a Omega subtheme called "My Theme".
 drush omega-subtheme "My Theme"           Creates a Omega subtheme called "My Theme" in sites/example.com/themes.
 --destination=example.com
 drush omega-subtheme "My Theme"           Uses the HTML5 starterkit to create a Omega subtheme called "My Theme" in
 --starterkit=starterkit_omega_html5       sites/all/themes (default).
 drush omega-subtheme "My Theme"           Creates a Alpha subtheme called "My Theme" without using a starterkit.
 --base=alpha


Arguments:
 name                                      The name of your subtheme.


Options:
 --destination                             The destination of your subtheme. Defaults to "all" (sites/all/themes).
 --machine_name                            The machine-readable name of your subtheme. This will be auto-generated from the
                                           human-readable name if ommited.
 --base                                    The base theme that you want to build on. Defaults to "Omega" or the base theme of
                                           the starterkit (if provided).
 --starterkit                              The starterkit that your subtheme should use. It must have the same base theme as
                                           your subtheme. Defaults to "starterkit_omega_html5" if "--base" is not set either.
 --enable                                  Automatically enable the subtheme after creation.
 --set-default                             Automatically enable the subtheme after creation and make it the default theme.

Supponendo quindi di voler creare il sottotema miotema per il sito miosito.it, e di volerlo inserire nella cartella dei temi per il sito in questione, attivandolo ed impostandolo come tema predefinito, basta scrivere:

drush @miosito omega-subtheme "Il mio tema Omega per il mio sito" --machine_name="miotema" --destination=miosito.it --set-default

Fatto questo potrò iniziare a lavorare sul tema utilizzando tutte le varie impostazioni da interfaccia di amministrazione di Drupal.

Si noti che come valore predefinito viene utilizzato lo starterkit HTML5 per la generazione del sottotema e che il nome macchina del tema deve contenere solo caratteri alfanumerici, quindi niente - o _ pena la non riuscita dell'operazione, quantomeno con la versione del modulo che ho utilizzato (non ho verificato nel codice la presenza di qualche problema, ma utilizzando degli underscore nel nome non tutto filava liscio).

Le versioni di moduli e tema utilizzate sono omega-7.x-3.0-beta3 e omega_tools-7.x-3.0-beta2.