Funkciók előkezelés változók nyomtatás előtt a sablon

Mindannyian ismerjük a szokásos sablon fájl, keresi azt az elvet fayl.tpl.php. És szokott, hogy a sablon valahonnan (magic?) Vannak változók adatlapot. Ma nyitottam ezt a titkot: ahhoz, hogy bekerüljön a sablon funkció találták előkezelés változókat. Ő általában így néz ki:

  • template - a neve a téma vagy modul (attól függően, hogy hol a munkagép funkció)
  • $ Változók - egy tömböt a rendelkezésre álló változók
  • preprocess_chto_obrabatyvaem - valójában a neve, a funkció és a beszédes név :)

Példaként - minden alany van jelen page.tpl.php fájl. Funkciók, hogy fel tudja dolgozni ezt a fájlt - template_preprocess_page.

Vannak generált változók. Honnan jönnek - nos, valóban, akik ettől :) Az alapötlet az, hogy a végén egy tömb $ változók. amelynek az elemeit a továbbított a page.tpl.php sablon. Ezek a változók, amelyek sok ember kezd dolgozni a saját témákat. Most, hogy tudjuk, honnan jöttek!

Az alapötlet, hogy szerettem volna közvetíteni - az, hogy ezeket a változókat lehet változtatni, de akár saját. Nézzünk néhány példát, világosan mutatja a munkát template_preprocess_page funkció:

Például dolgozunk egy szabványos Garland smink. És mondjuk akartam beírni minden nodah hírek oldal címe ($ title) egy szó „News”. A template.php kódot írni, mint ez:

Most minden híroldal csomópontjainak a változó $ cím page.tpl.php sablon mutatja ki a „News”.

Nézzük az összes együtt dolgozni a régi és megbízható Garland smink. De most van egy feladat -, hogy egy külön egységben osztályok css, blokkot jellemző. Az előzetes feldolgozás változók a blokk megegyezik a funkció template_preprocess_block:

Most block.tpl.php elérhetővé vált változó $ osztályok. amelyet fel lehet használni, például, mint ez (tartalom block.tpl.php fájl):

Ez az egész trükk. Egyszerű, nem?

By the way, segítségével előre feldolgozási funkciókat, akkor létre egyéni (saját) sablon fájlokat. Példaként -, hogy hozzon létre egy külön sablont oldalak a különböző csomópontok

Titkos hódolója írta:

Szuper, köszi a cikket.
PS
felhasználói figyelmeztetés: Ismeretlen oszlopban captcha_type 'in 'mezőlista' lekérdezés: SELECT modul captcha_type FROM WHERE captcha_points form_id = 'comment_form' in /home/u3146/domains/drupalace.ru/sites/all/modules/captcha/captcha.inc on line 60.
felhasználói figyelmeztetés: Ismeretlen oszlopban captcha_type 'in 'mezőlista' lekérdezés: SELECT modul captcha_type FROM WHERE captcha_points form_id = 'user_login_block' in /home/u3146/domains/drupalace.ru/sites/all/modules/captcha/captcha.inc on line 60.

Raging stopitsotkryl írta:

felhasználói figyelmeztetés: Ismeretlen oszlopban captcha_type 'in 'mezőlista' lekérdezés: SELECT modul captcha_type FROM WHERE captcha_points form_id = 'comment_form' in /home/u3146/domains/drupalace.ru/sites/all/modules/captcha/captcha.inc on line 60.

update.php elfelejtett alagutakat? = D

Kapcsolódó cikkek