Smarty

A Wikipédiából, a szabad enciklopédiából
Smarty
Fejlesztő Monte Ohrt, Messju Mohr
Legfrissebb stabil
kiadás
3.0.7
(2011-02-11)
Legfrissebb fejlesztői kiadás ismeretlen +/-
Kategória Sablonkezelés
Licenc NGPL
A Smarty weboldala

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[szerkesztés | forrásszöveg szerkesztése]

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 | forrásszöveg szerkesztése]

  • 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 | forrásszöveg szerkesztése]