Smarty
14 July 2008
Comments
Smarty to znany system szablonów o szerokich możliwościach. Polska dokumentacja dostępna jest pod tym adresem. Niniejszy artykuł będzie jej streszczeniem i wprowadzeniem do Smarty. Bibliotekę Smarty można pobrać ze strony smarty.net. Po rozpakowaniu przenosimy pliki na serwer, na katalog "demo" nadajemy chmod 777. Otwarcie w przeglądarce katalogu zawierającego pliki Smarty i przejście do katalogu "demo" powinno wyświetlić nam przykładową stronę. Jeżeli zobaczymy jakieś błędy to trzeba będzie je rozwiązać...INSTALACJA - POTRZEBNE PLIKI
Z całej paczki potrzebujemy zawartość katalogu libs czyli:
Smarty.class.php Smarty_Compiler.class.php Config_File.class.php debug.tpl /internals/*.php /plugins/*.php
<?php
require_once('Smarty.class.php');
$smarty = new Smarty();
//smarty zostało zainicjowane
SZABLONY
Do index.php dodajemy kod:
<?php
// katalog szablonów
$smarty->template_dir = 'templates/';
// katalog na skompilowane szablony
$smarty->compile_dir = 'templates_c/';
// katalog na cache
$smarty->cache_dir = 'cache/';
$smarty->assign('name','Andrzej Lepper');
$smarty->display('index.tpl');
<?php
Witaj, {$name}!
W powyższym przykładzie stworzyliśmy prosty szablon smarty - plik .tpl z jedną zmienną - {$name}. W pliku index.php podaliśmy podstawową konfigurację - ścieżki do katalogów na szablony, skompilowane szablony i cache. Smarty kompiluje dany szablon tak by za następnym razem skorzystać z gotowego kompilatu, co jest znacznie szybsze.
ZNACZNIKI W SZABLONIE
{* Tutaj treść komentarza *} | |
{$foo} <-- wyswietla prostą zmienną (nie tablicę/obiekt) {$foo[4]} <-- wyswietla piąty element tablicy o indexowaniu zaczynającym sie od zera {$foo.bar} <-- wyswietla wartości tablicy dla indexu "bar", podobnie jak PHP $foo['bar'] {$foo.$bar} <-- wyswietla wartości tablicy dla indexu zawartego w zmiennej, podobnie jak PHP $foo[$bar] {$foo->bar} <-- wyswietla własciwość "bar" obiektu "foo" {$foo->bar()} <-- wyswietla zwróconą wartości przez metodę "bar" {#foo#} <-- wyswietla zmienną konfiguracyjną "foo" | |
Funkcje szablonów smarty wykonują jakieś czynności. Do dyspozycji mamy funkcje smarty oraz funkcje dodatkowe definiowane przez wtyczki (plugins). Lista funkcji przedstawione będzie w dalszej części artykułu. Przykład:{include file="gora.tpl"} Witaj, {$name}! {mailto address='smarty@example.com'} |
ZMIENNE SPECJALNE SMARTY
Oto kilka zmiennych ze smarty:
{* wyświetli wartość podanej zmiennej _GET *} {$smarty.get.nazwa_zmiennej} {* wyświetli wartość podanej zmiennej _POST *} {$smarty.post.nazwa_zmiennej} {* wyświetli zawartość cookie o podanej nazwie *} {$smarty.cookies.nazwa_cookie} {* wyświetli wartość zmiennej systemowej "SERVER_NAME" *} {$smarty.server.SERVER_NAME} {* wyświetli wartość zmiennej systemowej "PATH" *} {$smarty.env.PATH} {* wyświetli wartość "session id" *} {$smarty.session.id} {* wyświetli znacznik czasu *} {$smarty.now}
RkBlog
Comment article