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.

Smarty
FejlesztőMonte Ohrt, Messju Mohr
Legfrissebb stabil kiadás3.0.7
(2011-02-11)
Programozási nyelvPHP
KategóriaSablonkezelés
LicencNGPL
A Smarty weboldala

Értelmezés szerkeszté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 szerkesztés

  • 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 szerkesztés