Funcții de preprocesare variabile înainte de a ieși în șablon

Suntem cu toții familiarizați cu fișierele obișnuite de șabloane care arată ca fișierul file.tpl.php. Și toți sunt obișnuiți cu asta în acest șablon de undeva (magie?) Există variabile cu date. Astăzi voi dezvălui acest secret: pentru a intra în șablon a fost inventată funcția variabilelor de preprocesare. De obicei, se arată astfel:







  • șablonul este numele temei sau al modulului (în funcție de locul în care implementăm funcția)
  • $ variables - matrice cu variabile disponibile
  • preprocess_chto_processing - de fapt, numele funcției cu numele de vorbire :)

Ca exemplu - în fiecare subiect există un fișier page.tpl.php. Funcția pe care acest fișier o poate gestiona este template_preprocess_page.

Aici variabilele sunt generate. În cazul în care provin de la - de fapt, cine, de unde :) Ideea principală este că rezultatul este o serie de variabile $. ale căror elemente sunt transmise șablonului page.tpl.php. Acestea sunt tocmai variabilele cu care mulți oameni au început să lucreze cu temele lor. Acum știi de unde provin!

Ideea principală pe care am vrut să o transmit este că aceste variabile pot fi modificate sau adăugate. Să aruncăm o privire la câteva exemple care arată clar lucrul cu funcția template_preprocess_page:







De exemplu, lucrăm cu tema standard a lui Garland. Și să presupunem că am vrut ca în toate nodurile de tip de știri, titlul paginii ($ title) să fie textul "Știri". În template.php scriem următorul cod:

Acum, pe toate paginile nodurilor de știri, în variabila $ titlu al șablonului page.tpl.php se va afișa inscripția "Știri".

Să lucrăm cu aceeași temă Garland veche și sigură. Dar acum am o sarcină - de a scoate în clasa clase suplimentare pentru css, care caracterizează acest bloc. Pentru variabilele de preprocesare pentru bloc, funcția template_preprocess_block este responsabilă:

Acum, clasele $ variabile sunt disponibile în block.tpl.php. care poate fi folosit, de exemplu, ca aceasta (conținutul fișierului block.tpl.php):

Asta e totul. Simplu, nu-i așa?

Apropo, cu ajutorul funcțiilor de preprocesare puteți crea fișiere personalizate (proprii) șablon. De exemplu, crearea unui șablon de pagină separat pentru diferite tipuri de noduri

Un admirator secret a scris:

Mare, mulțumesc pentru articol.
PS
avertizare utilizator: coloana necunoscută „captcha_type“ în „lista de câmpul“ interogare: modul SELECT, captcha_type DIN captcha_points UNDE form_id = „comment_form“ în /home/u3146/domains/drupalace.ru/sites/all/modules/captcha/captcha.inc pe linia 60.
avertizare utilizator: coloana necunoscută „captcha_type“ în „lista de câmpul“ interogare: modul SELECT, captcha_type DIN captcha_points UNDE form_id = „user_login_block“ în /home/u3146/domains/drupalace.ru/sites/all/modules/captcha/captcha.inc pe linia 60.

Crazy stupitsopryla a scris:

avertizare utilizator: coloana necunoscută „captcha_type“ în „lista de câmpul“ interogare: modul SELECT, captcha_type DIN captcha_points UNDE form_id = „comment_form“ în /home/u3146/domains/drupalace.ru/sites/all/modules/captcha/captcha.inc pe linia 60.

update.php a uitat, adit? = D







Articole similare

Trimiteți-le prietenilor: