Smarty pentru designeri



Designerii lucrează cu fişiere HTML. Pentru a lucra cu Smarty lucrezi cu fişiere template. Aceste fişiere sunt alcătuite din conţinut static, dar combinate cu tag-uri Smarty. Toate fişierele template au extensia .tpl. Tag-urile Smarty folosite în template-uri sunt conţinute între { } ca delimitatori.
Să luăm în considerare structura de bază a unei pagini de web. Avem un header, o parte de conţinut şi un footer. Un fişier template ce include header-ul şi footer-ul aratş în felul următor:
{include file=\"header.tpl\"}

Label1


{include file=\"footer.tpl\"}
Toate template- urile ar trebui să se afle într-un singur director intitulat "template". După ce este apelat, un template pentru prima dată template-ul compilat se va afla în directorul templates_c.



Limbajul Smarty este foarte puternic. Toate variabilele ce provin din PHP sunt identificate în Smarty cu {$Nume_Variabila}, deci sunt precedate de semnul $. Deci, dacă avem o variabilă în PHP intitulată $NumeleMeu, pentru a se printa în Smarty se va folosi ceva de genul:


Welcome, {$NumeleMeu}


Puterea limbajului Smarty constă şi în flexibilitatea sa. Se pot insera IF şi LOOP în template-uri. Iteraţia reprezintă un numărător intern pentru Smarty. Ne ajută să ştim valoarea curentă a iteraţiei din secţiune. O alternativă pentru LOOP o reprezintă FOREACH, care este folosit pentru a face LOOP peste un singur array asociativ.
Diferenţa principală între SECTION şi FOREACH este ca pentru SECTION poţi începe de la o valoare anume şi poţi seta un pas pentru iteraţie, în timp ce pentru FOREACH trebuie să faci loop peste toate valorile.