A Smarty egy PHP alapú webes sablonrendszer. Fő feladata, hogy szétválassza az alkalmazás logikáját, illetve a megjelenítési réteget. A Smarty modell-nézet-vezérlő szerűen sablonfájlokat használ, melyekben speciális Smarty „tagek” segítségével határozható meg a generált HTML, vagy XML kód.

Értelmezés A Smarty-sablonok szintaxisa a következő: HTML-kódba ágyazva {$valtozo}, illetve vezérlési szerkezetek (pl.: elágazások, ciklusok) esetén {if [feltétel]} [kódrész] {/if}. Az értelmezés úgy történik, hogy egy adott PHP fájl példányosítja a Smarty osztályt, majd legenerálja az adott oldalon megjelenítendő dinamikus tartalmakat, amiket az assign() metódussal átad a Smarty osztály objektumpéldányának, majd a display() metódust meghívva beilleszti azokat a paraméterben megadott sablonba.

Smarty-sablon (index.tpl): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html> <head> <title>{$title_text|escape}</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head>

<body> {* Smarty komment *}

{$body_html}

</body> </html>

PHP fájl: define('SMARTY_DIR', 'smarty-2.6.22/'); require_once(SMARTY_DIR . 'Smarty.class.php');

$smarty = new Smarty(); //példányosítás

$smarty->template_dir = './templates/'; $smarty->compile_dir = './templates/compile/';

$smarty->assign('title_text', 'TITLE: This is the Smarty basic example ...'); $smarty->assign('body_html', '<p>BODY: This is the message set using assign()</p>');

$smarty->display('index.tpl');

Extra szolgáltatások Gyorsítótárazás Egyedi konfigurációs fájlok Változó-modifikáció Sablonfüggvények (PHP függvény futtatása Smarty változón; pl.: {$valtozo|nl2br} Bővítmények

Külső hivatkozások Hivatalos honlap Tutorial.hu: Smarty cikkek Ingyenesen letölthető Smarty segédlet

Kategória:PHP