Poniższy przykład pokazuje, jak za pomocą PHPTAL wyświetlić dane na stronie.
Więc zabieramy się do roboty!
Najpierw tworzymy layout naszej strony, tradycyjnie, tak jak zwykle w XHTML:
plik: plik_szablonu.html
<code lang="xml"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title> miejsce na tytuł strony </title> </head> <body> <h1>miejsce na tytuł strony</h1> <table border="1"> <thead> <tr> <th>Nagłówek</th> </tr> </thead> <tbody> <tr> <td>wiersze tabeli</td> </tr> </tbody> </table> </body> </html> </code>
Wyświetlając stronę w przeglądarce, widzimy miejsce na tytuł strony i tabelkę.
Podglądając źródło strony w przeglądarce, widzimy dokładnie taki sam kod jak wyżej.
Teraz chcemy, aby na tej stronie zostały wyświetlone dane ze skryptu PHP, więc przygotowujemy odpowiedni plik PHP
plik: strona.php <code lang="php"> <?php
/** * Przykład użycia szablonów PHPTAL * Wyświetla tablicę na stronie i generuje nagłówek strony */
/* Konfiguracja PHPTAL */
$stara_sciezka = ini_get('include_path'); // dla serwera na windows trzeba użyć ';' zamaist ':' w lini poniżej ini_set('include_path', $stara_sciezka.':/sciezka/do/bibiotek/PHPTAL-1.1.7');
// katalog z szablonami define('PHPTAL_TEMPLATE_REPOSITORY', '/sciezka/do/szablonow/_tpl/');
// katalog dla szablonów skompilowanych // uwaga: katalog musi mieć prawa do zapisu! define('PHPTAL_PHP_CODE_DESTINATION', '/sciezka/do/szablonow/skompilowanych/');
// wymuś kompilację za każdym razem define('PHPTAL_FORCE_REPARSE', 1);
require_once 'PHPTAL.php';
/* Koniec konfiguracji PHPTAL */
// stworzenie nowego obiektu "szablon" $szablon = new PHPTAL('plik_szablonu.html');
// tą tablicę chcemy wyświetlić na stronie $tablica=array('aaa','bbbb','ccc','dddd','eeee');
// pobranie dzisiejszej daty $dzisiejsza_data=date('j F Y');
// przypisanie do szablonu wartości, które wyświetlimy na stronie $szablon->tytul = 'Tytuł strony: Wiadomości z dnia ' . $dzisiejsza_data; $szablon->tablica = $tablica;
try { // wyświetlenie szablonu echo $szablon->execute(); } // wyświetlenie błędu, jeśli wystąpił podczas wyświetlania catch (Exception $e){ echo $e; }
?> </code>
Mamy już skrypt wyświetlający naszą stronę.
Ale chcemy teraz wyświetlić na tej stronie przypisane w skrypcie PHP do szablonu dane.
Musimy więc przerobić stronę, dodając tagi tal:
tal:content - zmienia zawartość tagu HTML na wartość podanej zmiennej tal:repeat - tworzy pętlę
Zmieniamy plik HTML, tym samym tworząc aktywny szablon:
<code lang="xml"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title tal:content="tytul"> miejsce na tytuł strony </title> </head> <body> <h1 tal:content="tytul">miejsce na tytuł strony</h1> <table border="1"> <thead> <tr> <th>Nagłówek</th> </tr> </thead> <tbody> <tr tal:repeat="wiersz tablica"> <td tal:content="wiersz">wiersze tabeli</td> </tr> </tbody> </table> </body> </html> </code>
Po wgraniu obu plików na serwer do odpowiednich katalogów i uruchomieniu pliku PHP, widzimy: <code> Wiadomości z dnia DD-MM-RRRR
a podglądając kod strony HTML w przeglądarce: <code lang="xml"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Wiadomości z dnia 14-07-2006</title> </head> <body> <h1>Wiadomości z dnia 14-07-2006</h1> <table border="1"> <thead>