Sminkek készítése

A Drupal sminkrendszere rendkívül rugalmas, sok utat biztosít az egyedi oldalak kialakítása felé. Lehetőségünk van új sminket (stílust) építeni meglévő sminkre, új sminket írni egy sablonkezelő (leggyakrabban a PHPTemplate) segítségével, vagy közvetlenül a Drupal smink függvényeivel PHP alapokon.

  • Smink készítése csak stíluslapokkal. Lehetőség van arra, hogy egy meglévő sminkből pusztán CSS és más médiaállományok (képek, Flash mozik stb.) hozzáadásával készítsünk egy másikat. Ehhez mindössze nyitnunk kell egy könyvtárat annak a sminknek a könyvtárán belül, amelyiket testre szeretnénk szabni. Oda kell tennünk a saját style.css nevű stíluslapunkat, és esetleg egyedi képeinket, más média állományainkat. A smink neve a most nyitott könyvtár lesz.
  • Smink készítése sablonokkal. A következő szint, amikor már saját sminket készítünk valamilyen sablonkezelő motor segítségével. Ha HTML-t tudunk szerkeszteni, és a PHP-től sem riadunk vissza, akkor a Drupal rendszerrel szállított PHPTemplate sablonkezelő segítségével bonyolultabb egyedi sminket is tudunk készíteni.
  • Smink készítése PHP függvényekkel Végül, ha jól értünk a PHP-hez, és/vagy speciálisabb igényeink vannak, akkor teljesen önálló sminket is írhatunk a Drupal sablon függvényeinek megfelelő alkalmazásával.

Saját PHP függvény alapú smink készítése

Legegyszerűbb leírni a tiszta PHP smink készítését, ráadásul a PHPTemplate megértését segíti, ha először ezzel kezdem. Minden smink a themes alatt a saját könyvtárában lakik, és a neve megegyezik a könyvtárnévvel, a kiterjesztése pedig theme. Tehát az themes/sajatsmink könyvtárban van a sajatsmink.theme fájl.

Ezen belül, hasonlóan a modulokhoz, különböző hurkokat valósíthatunk meg. Ezek a hurkok a kézikönyvben theme_-al kezdődnek, élesen elkülönülve a hook_ hurkoktól. Ez utóbbi csak egy jelölés, míg a smink hurkok ténylegesen meg is vannak valósítva a includes/theme.inc fájlban.

Például van egy theme_form_element smink hurok, amit a sajatsmink_form_element fájlban sajatsmink_form_element néven valósítunk meg. Ennek a függvénynek egy stringet kell visszaadni, amit aztán kiír majd a Drupal.

Minden tiszta PHP sminknek meg kell valósítania a theme_features hurkot, ez egy tömböt ad vissza. A tömb leírja, hogy ez a smink mire képes. Lehetséges elemei:

logo
Megadhatunk egy logót. A sminknek ellenőriznie kell a default_logo (logikai) és logon_path (string) változók értékeit.
toggle_logo
A logó ki-be kapcsolható.
toggle_name
A weboldal neve ki-be kapcsolható.
toggle_search
A keresés doboz ki-be kapcsolható.
toggle_slogan
A jelmondat ki-be kapcsolható.
toggle_mission
A misszós üzenet ki-be kapcsolható.
toggle_primary_links
Az elsődleges hivatkozások ki-be kapcsolhatóak.
toggle_secondary_links
A másodlagos hivatkozások ki-be kapcsolhatóak.
toggle_node_user_picture
A smink meg tudja jeleníteni a felhasználók képét a tartalmai mellett.
toggle_comment_user_picture
A smink meg tudja jeleníteni a felhasználók képét a hozzászólásai mellett.

Például:

function chameleon_features() {
return array(
'logo',
'toggle_name',
'toggle_slogan',
'toggle_primary_links',
'toggle_secondary_links');
}
?>

Az alap disztribúcióban ilyen típusú smink a chameleon. Angolul ezen az oldalon találhatjuk meg a smink hurkok listáját.