Alsminket készíteni a Drupalban elég egyszerű. Általában azért, illletve akkor van rá szükség ha a drupal.org-ról, vagy máshonnan letöltött sminkbe szeretnénk belenyúlni, mert nem tetszik a link színe, vagy a menü mögötti háttérkép stb. Persze megtehetjük hogy belenyúlunk a letöltött sminkbe, de akkor emlékezned kell mit módosítottál, és ha frissül a smink, ezeket a módosításokat újra és újra alkalmaznod kell. Elég macerás ugye?
Erre nyújt segítséget az a lehetőség az úgynevezett alsmink (angolul sub-theme) ahol magadnak készítesz egy sminket, ami gyerek szülő kapcsolatban lesz. Vegyünk egy konkrét példát:
Tegyük fel hogy tetszik nekünk a Danland smink, de az már nem tetszik hogy a menüpont színe fehér, jobban szeretnénk ha ez piros lenne, hover állapotra (azaz ha ráviszed az kurzort) pedig sárga.
Készíts egy mappát a sites/all/themes mappába, legyen a neve mondjuk 'danlandclone'. Ami feltétlen szükséges egy alsmink készítéséhez az egy .info fájl, amiben leírod a smink adatait, illetve esetünkben, mivel csak a menüpont színét szeretnénk megváltoztatni, kell egy css fájl is.
Info fájl elemei:
A
name érték kötelező mező, bármilyen nevet adhatsz a saját sminkednek
A
core érték kötelező érték, itt tudod megadni mely drupal verzióhoz szertenél alsminket készíteni. Mi esetünkben most ez nem fontos, de később ennek jelnetőssége lesz.
A 'danland' érték itt a smink gépi(!sic) neve, megeggyezik a szülő smink info fájljának nevével(danland).
Itt megadtuk hogy a saját sminkünknek hogy minek lesz a gyereke, azaz a danland és a danlandclone sminkek között szülő -> gyerek kapcsolat lesz.
description = Ez a smink a Danland gyermeke.
A
description érték bár nem kötelező, elég hasznos lehet, ha magadnak akarsz üzenni, mi is ez a smink.
A
version mező nem kötelező mező.
Az
engine Drupal 7-ben ez a mező már nem szükséges.
stylesheets[all][] = danlandclone.css
A
stylesheets értékben tudod megadni az alsminkedhez/smindkedhez használt saját css fájlokat. A danlandclone sminkben igaz nincs benne sok minden, de itt azt definiálhatsz amit szeretnél.
Update: Hozzáadhatsz ezzel a módszerrel további saját css fájlt is, de figyelj arra hogy ha ugyanazt a nevet adod neki mint ami a szülő sminkben is szerepel, a gyereké lesz érvényben.
Példa: nem tetszik neked a danlandclone.css név, legyen inkább style.css, akkor a "Danland clone" smink style.css -e lesz érvényben, és nem veszi figyelembe a szülő ugyanezzel a névvel létező, és az oldalnak stílust adó fájlt.
danlandclone.info tartalma:
name = Danland clone
description = Ez a smink a Danland gyermeke.
version = 1.0
core = "7.x"
engine = phptemplate
base theme = danland
stylesheets[all][] = danlandclone.css
scripts[] = myscript.js
; továbbá összes danland régió, lásd a csatolt zipben lévő info fájlt
danlandclone.css tartalma:
#nav li a {
color:red;
}
#nav li a:hover {
color:yellow;
}
Nincs más dolgunk mint lementeni az info fájlt a sites/all/themes/danlandclone mappába. Az info fáj nevének meg kell egyeznie a mappa nevével amiben szerepel, azaz most danlandclone.info fájl lesz belőle, karakter kódolása pedig UTF-8.
Ezt kell látnod majd a sminkek közt ha jól csináltad:

További angol nyelvű olvasivaló az info fájlról: http://drupal.org/node/171205