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
Wskazane pliki przenieśmy do oddzielnego katalogu, w którym dodatkowo stworzymy plik index.php. Na początek umieszczamy w nim kod:
<?php
require_once('Smarty.class.php');
$smarty = new Smarty();
//smarty zostało zainicjowane
Otwarcie index.php powinno wyświetlić pustą stronę.
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');
Oraz tworzymy trzy podane podkatalogi: templates, templates_c i cache, a następnie w katalogu templates tworzymy plik "index.tpl"
Otwarcie index.php powinno wyświetlić
Witaj, Andrzej Lepper!.
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
| Komentarze | {* Tutaj treść komentarza *} Komentarz zaczyna się od {* i kończy *}. Komentarze nie będą widoczne w wynikowym kodzie. |
| Zmienne | {$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 | 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}! Funkcja include załącza plik szablonu (gora.tpl) w podanym miejscu.
{mailto address='smarty@example.com'} Funkcja mailto wygeneruje kilkalny adres email podany jako atrybut "address". |
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}
- Dodane: 14.07.2008 przez riklaunim