Aceasta este o scurtă descriere a modului în care șabloanele s-au schimbat în phpBB3 în comparație cu phpBB2.
Variabile.
Notă: variabilele de șablon sunt utilizate pentru a transfera date în șabloane. În mod convențional, numele variabilelor sunt întotdeauna majuscule. Variabilele utilizate pentru a transfera date în șabloane sunt închise în bretele curbate. Variabilele rămase, de exemplu în condiții, sunt utilizate direct în șabloane.
Stilul variabil.
Variabilele asociate stilului au prefixul "T_". Acestea sunt declarate, de regulă, în codul phpBB3 principal.
Variabilele de limbă sunt determinate automat.
Puteți să le utilizați în șabloane, precedate de numele lor cu prefixul "L_":
Variabilele de limbă au forma "L_LANGUAGE_KEY", unde "LANGUAGE_KEY" este cheia unei intrări existente în fișierul de limbă. Aceste variabile sunt atribuite automat.
În timp ce variabilele de limbă și modele variabile sunt stabilite în mod implicit și este determinată automat, va trebui să definiți manual variabilele de alte tipuri care urmează să fie utilizate în șabloane.
Pentru aceasta, utilizați metoda assign_var.
Alocarea unei singure variabile:
Alocarea unei game de variabile:
Bucle inversate:
Numele fișierului.
Elemente ale sintaxei.
Variabile.
Sintaxa de bază pentru variabilele simple (non-bloc) este aceeași ca în cazul phpBB2, adică variabilele iau forma cu datele transmise de la sursă (fișierul PHP). Rețineți că spre deosebire de phpBB2, cele mai multe variabile de limbă de șir nu sunt transferate de la sursă la șablon. Când se găsește o variabilă de limbă, phpBB3 examinează mai întâi dacă există o variabilă similară în fișierele de limbă. Dacă este așa, o folosește. Acest lucru reduce foarte mult necesitatea de a atribui numeroase variabile de limbă noi atunci când scrieți moduri.
Nivelul de bază al ciclului rămâne același și are forma:
Cu toate acestea, acum are câteva adăugiri. Mai întâi, puteți specifica punctul de început și sfârșit al ciclului. De exemplu:
Ciclul începe cu a treia apariție (amintiți-vă că numărătoarea începe de la zero). Adăugări la acest lucru sunt:
(2, 4): Începeți de la a treia valoare, terminați pe a patra.
(-4): Începeți cu a patra de la sfârșitul valorii.
(2, -4): Începeți de la a treia valoare, terminați pe a patra de la final.
Amintiți-vă că metoda de calcul (indexare) se poate schimba
Următoarea adăugare este BEGINELSE:
Aceasta va duce la ieșirea conținutului între BEGINELSE și END dacă buclă nu are valori. De exemplu, când se afișează forumuri goale fără subiecte. În acest sens, acesta este un înlocuitor pentru comutatoarele existente (switch_).
De asemenea, puteți verifica dacă buclă dvs. are valori (nu goale), cum ar fi folosirea dimensiunea () în PHP:
Acest lucru are sens dacă, de exemplu, doriți să împiedicați ieșirea unei etichete goale
Fișiere șablon incluse.
Capacitatea de a atribui o variabilă șablon separat care a existat în phpBB2, de exemplu, pentru a afișa un JumpBox meniu drop-down nu mai folosește indexați de phpBB3. În schimb, (poate mai bine, poate nu, dar cu siguranță mai flexibil), INCLUDE este inclus într-o formă simplă:
O decizie foarte controversată este posibilitatea includerii codului PHP în șabloane. Acest lucru se realizează utilizând următoarele etichete:
De asemenea, puteți conecta un fișier PHP extern:
Rețineți că calea către fișierul PHP inclus este indicată din dosarul rădăcină (root) și nu din dosarul șablon!
Notă: este cel mai potrivit pentru dezvoltatorii de stil să nu utilizeze includerea codului PHP. Această caracteristică a fost oferită pentru plasarea de bannere (bannere de cod) de către utilizatorii finali fără a fi nevoie să se modifice multe fișiere, ca în phpBB2. În mod implicit, utilizarea PHP în șabloane este interzisă și administratorul trebuie să activeze în mod specific această caracteristică.
Condiții / structuri de control.
Cea mai importantă adăugire la phpBB3 sunt condițiile sau structurile de control, cum ar fi: "Dacă se face ceva, atunci faceți următoarele." Sistemul este foarte asemănător cu Smarty. La început, acesta poate confunda utilizatorii puțin, dar are un mare potențial și o mare flexibilitate. În cea mai simplă formă, este următoarea formă:
Condiția (expr) poate lua mai multe forme, de exemplu:
Aceasta înseamnă ieșirea marcării dacă valoarea variabilei S_ROW_COUNT este chiar în iterația curentă a buclă (adică, condiția expr este TRUE). Puteți utiliza diferite metode pentru a descrie condițiile de comparație (standard și text, prezentate mai jos în paranteze pătrate):
În plus față de o simplă comparație, folosind condiții (IF), puteți compara și secvențe:
Fiecare condiție va fi verificată în mod constant pentru valabilitate, iar conținutul corespunzător va fi afișat când se va găsi valoarea dorită. Nu utilizați întotdeauna ELSEIF dacă ELSE este suficient pentru valoarea "totul altceva".
Acest lucru conduce la utilizarea clasa row1 pentru linii drepte și clasa row2 pentru restul. Este o afacere mare, spuneți, phpBB2 a făcut-o! Într-adevăr, dar acum nu vă limitați la utilizarea doar a claselor1 sau 2. Puteți oricare altă clasă, puteți defini stilul dvs. etc. În plus, nu vă limitați la două culori, etc.
Acesta este un exemplu de ieșire de culoare violet pentru primele două rânduri de linii albastre timp de 3 - 5, verde pentru liniile 6 - 9, roșu pentru celălalt. Deci, puteți construi un gradient, de exemplu.
Aceasta înlocuiește metoda existentă în phpBB2 utilizând o matrice cu dimensiuni zero și BEGIN / END.
Variabilele utilizatorilor.
De asemenea, puteți defini cu ușurință variabilele (logice sau int) din cadrul șablonului. Acest lucru poate fi util, de exemplu, dacă doriți să organizați mai multe ieșiri secvențiale de conținut:
Notă: cuvântul cheie DEFINE are mai multe limitări:
- Trebuie să existe exact un spațiu înainte și după semnul de comparație "=".
- La definirea unui șir, trebuie să utilizați citate simple.
// Corect
// Greșit
// Greșit
// Corect
// Greșit
Variabilele utilizator pot fi șterse: