Vytváření a nastavení themes, soubor .info
Při vytváření nového tématu vzhledu pro cms Drupal se nevyhneme vytvoření souboru .info. Právě v tomto souboru se definuje struktura webu, regiony bloků a přiřazují se k tématu css soubory s kaskádovými styly a javascript. Také se zde specifikuje, které nastavení bude zpřístupněno v administrátorské sekci.
O souboru s příponou .info
Každé drupalovské téma vzhledu musí ve svém adresáři obsahovat soubor s příponou .info. Bez tohoto souboru nebude totiž téma viditelné v administrátorské sekci.
Je také důležité vědět, že:
Jméno souboru .info slouží v Drupalu k internímu (strojovému) pojmenování tématu vzhledu. Je tedy třeba dbát na jeho správné pojmenování. Stane-li se, že se téma jmenuje stejně jako jiný aktivovaný modul, může dojít k omezení funkcionality Drupalu, proto je zde určitá konvence v pojmenování. Název by měl začínat malým nebo velkým písmenem abecedy (nikdy ne číslicí) a dále by měl obsahovat jen číslice, písmena a potržítka.
Struktura souboru .info
Struktura souboru není nepodobná konfiguračním souborům typu INI. Jedná se o statický textový soubor, kde je na každém řádku jeden konfigurační výraz. Výraz se tvoří vždy jako pár klíč=hodnota, kde vlevo je klíč, neboli název nastavované vlastnosti a vpravo je hodnota této vlastnosti. Klíč je od hodnoty oddělen znakem "rovná se".
Středníky v textu slouží k zakomentování výrazu, tedy k jeho zrušení. Pokud je některý nepovinný klíč nedefinován, nastaví se jeho výchozí hodnota.
- Drupal rozumí těmto klíčům k nastavení:
- name (povinný klíč)
- description (doporučený klíč)
- screenshot
- version
- core (povinný klíč)
- engine (povinný klíč)
- base theme
- regions
- features
- stylesheets
- scripts
- php
Popis klíčů nastavení
name (povinný klíč)
Hodnotou je jméno tématu vzhledu určené lidem. Lidem čitelný název nemá tak přísné požadavky na způsob zápisu jako strojově čitelný název a může obsahovat i mezery a některé další znaky navíc.
name = Moje téma vzhledu 2.0
description (doporučený klíč)
Krátký popis tématu vzhledu, který se zobrazí na stránce s výběrem témat vzhledu v sekci Prvky webu v Administraci.
description = Toto téma vzhledu pro Drupal ještě nevzniklo a asi ani nikdy nevznikne
screenshot
Pokud chcete společně s popisem zobrazit v administraci i malý náhled vzhledu, přiřaďte jako hodnotu tomuto klíči cestu k obrázku s náhledem. Cesta k obrázeku je relativní a vychází se z adresáře tématu. Při nedefinovaném klíči bude Drupal hledat náhled v obrázku sreenshot.png v adresáři s tématem.
screenshot = images/screenshot.gif
version
Verze tématu. Zadávejte hodnotu pouze, pokud neplánujete vložit své téma vzhledu na drupal.org. V opačném případě bude totiž hodnota vložena automaticky komprimačním skriptem.
version = 2.0
core (povinný klíč)
Každý soubor .info drupalovského tématu vzhledu musí obsahovat označení verze jádra Drupalu, aby byla zachována kompatibilita. Pokud hodnota tohoto klíče nesouhlasí s hodnotou verze jádra Drupalu, téma vzhledu nebude aktivováno.
core = 6.x
engine (povinný klíč)
Nastavení motoru, který použije všechny funkce a šablony tématu vzhledu. Jako výchozí motor je možné uvést "phptemplate". Pokud je nastavení klíče engine vynecháno, má se za to, že téma má vlastní motor definovaný v souboru .theme, ovšem jedná se o volbu pouze pro velmi pokročilé uživatele.
engine = phptemplate
base theme
Pokud je téma vzhledu subtéma jiného tématu, hodnota klíče base theme udává rodičovské téma, ze kterého se odvozují výchozí vlastnosti subtéma.
base theme = garland
regions
Definice regionů bloků použitých tématem vzhledu. Definuje se jako pole tak, že na každý řádek se napíše jeden prvek pole. Prvek je uvozen klíčovým slovem regions bezprostředně následovaným hranatými závorkami, uvnitř kterých je strojově čitelný název regionu. Hodnota prvku je již klasicky za znakem "rovná se" a vyjadřuje lidem srozumitelný název regionu, který se objeví na stránce s nastavením bloků.
Pokud není pole klíčů regions specifikováno, bere se výchozí nastavení uvedené níže.
regions[left] = Left sidebar regions[right] = Right sidebar regions[content] = Content regions[header] = Header regions[footer] = Footer
features
Různé prvky drupalovské stránky, jako například primární odkazy, vyhledávací formulář nebo slogan webu, mohou být zobrazovány a skrývány podle potřeb uživatele. Které prvky lze takto nastavit, určíme polem klíčů features. Pokud některý z prvků v definici vynecháme, tak se v nastavení administrátorům nezobrazí.
features[] = logo features[] = name features[] = slogan features[] = mission features[] = node_user_picture features[] = comment_user_picture features[] = search features[] = favicon ; Poslední dvě se v nastavení nezobrazí ; features[] = primary_links ; features[] = secondary_links
stylesheets
Protože jsou témata vzhledu tvořena kaskádovými styly, je nutné definovat, které css soubory. Od verze 6 drupalovského jádra, lze css soubory přidávat pomocí pole klíčů v souboru .info.
stylesheets[all][] = layout.css stylesheets[all][] = colours.css
scripts
Podobně jako kaskádové styly se dá přidávat i javascript.
scripts[] = courvycorners.js
php
Definuje minimální verzi php, kterou může téma vzhledu využívat. Pro většinu témat vzhledu nemusí být hodnota tohoto klíče nastavena a použije se výchozí konstanta pro Drupal.
php = 4.3.3
Ukázkový soubor .info pro téma vzhledu v Drupalu
; $Id: mytheme.info,v 0.1 2009/07/08 13:52:40 fanda Exp $ name = My theme 2.0 description = Nice theme for ifanda.cz screenshot = screenshot.gif engine = phptemplate version = "6.x-1.0" core = "6.x" regions[top_left] = top left regions[top_left_middle] = top left middle regions[top_right_middle] = top right middle regions[top_right] = top right features[] = logo features[] = name features[] = slogan features[] = mission features[] = node_user_picture features[] = comment_user_picture features[] = search features[] = favicon features[] = primary_links features[] = secondary_links scripts[] = js/jquery.equalheights.js scripts[] = js/jquery.corner.js stylesheets[all][] = css/style.css stylesheets[all][] = css/colors.css
Jak použít klíč regions při vytváření Drupal themes
V souboru .info se pole klíčů regions nastaví výše uvedeným způsobem. Slova v hranatých závorkách jsou později názvy proměnných v souboru tématu vzhledu page.tpl.php a v jeho odvozeninách jako $left, $right atd. Slova na pravé straně výrazu jsou názvy sloupců pro umístění bloků, jako na obrázku, kde ovšem jsou názvy bloků lokalizovány do češtiny.
Na závěr ...
Obnovení cache v Drupalu
Aby se úpravy souboru .info projevily, musí se obnovit cache, která si soubor uchovává.
Uživatelé s příslušným oprávněním najdou tlačítko pro obnovení cache na stránce Výkon z administrátorské sekce Nastavení webu (/admin/settings/performance), úplně dole.