Manual
Pierwszy przykład
Aby zrozumieć działanie systemu PHPTAL najłatwiej można to zrobić na prostym przykładzie.
Twój szablon jest poprawnym dokumentem XML/HTML (z nadrzędnym elementem). Oto pliku szablonu nazwany my_template_file.html.
<?xml version="1.0"?> <html> <head> <title tal:content="title"> place for the page title </title> </head> <body> <h1 tal:content="title">sample title</h1> <table> <thead> <tr> <th>name</th> <th>phone</th> </tr> </thead> <tbody> <tr tal:repeat="item result"> <td tal:content="item/name">item name</td> <td tal:content="item/phone">item phone</td> </tr> <tr tal:replace=""> <td>sample name</td> <td>sample phone</td> </tr> <tr tal:replace=""> <td>sample name</td> <td>sample phone</td> </tr> </tbody> </table> </body> </html>
W PHP wystarczy dołączyć bibliotekę PHPTAL i wypełnić kilka zmiennych aby skonfigurować system szablonów.
<?php require_once 'PHPTAL.php'; // tworzymy obiekt nowego szablonu $template = new PHPTAL('my_template_file.html'); // klasa Person class Person { public $name; public $phone; function Person($name, $phone) { $this->name = $name; $this->phone = $phone; } } // tworzymy testowa tablice obiektow $result = array(); $result[] = new Person("foo", "01-344-121-021"); $result[] = new Person("bar", "05-999-165-541"); $result[] = new Person("baz", "01-389-321-024"); $result[] = new Person("buz", "05-321-378-654"); // dodajmy pewne dane do tresci szablonu $template->title = 'the title value'; $template->result = $result; // uruchamiamy i wyswietlamy szablon try { echo $template->execute(); } catch (Exception $e){ echo $e; } ?>
Jeśli uruchomimy skrypt w otrzymamy taki kod:
<?xml version="1.0"?> <html> <head> <title>the title value</title> </head> <body> <h1>the title value</h1> <table> <thead> <tr> <th>name</th> <th>phone</th> </tr> </thead> <tbody> <tr> <td>foo</td> <td>01-344-121-021</td> </tr> <tr> <td>bar</td> <td>05-999-165-541</td> </tr> <tr> <td>baz</td> <td>01-389-321-024</td> </tr> <tr> <td>buz</td> <td>05-321-378-654</td> </tr> </tbody> </table> </body> </html>