Smarty

Smarty ist eine recht stark verbreitete und dadurch ziemlich ausgereifte open source template engine für PHP.

Man setzt im PHP-Quellcode nur noch Werte die der Designer dann später leicht nutzen kann. zb so:

$Smarty->assign("varnamefuertemplate", $phpvariable);

(wobei $phpvariable auch zB ein array sein kann). im template (extra files, die auf .tpl enden und hauptsächlich reinen HTML-code enthalten) kann man dann z.b. schreiben:

"Hallo {$name}, du bist eingelogt"

oder listen machen mit:   nr  name  {foreach item=foo from=$var

Auch unterstützt Smarty den Designer indem es 'includes' ermöglicht. So braucht man nicht immer den gesamten Quellcode in eine Datei packen, sondern in der .tpl-datei die dann am ende des php-code "aktiviert" wird steht oben {include file="kopf.tpl"} und unten analog fuss.tpl und ggf zb auch {include file="menu.tpl" aktiv="seite23"}

(im template menu.tpl kann dann mit {if aktiv=="SeiteX"} {/if} oder so der entsprechende eintrag hervor

sehr nett sind auch so sachen wie {$name}

---

"One of Smartys primary design goals is to facilitate the separation of application code from presentation. Typically, the application code is maintained by programmers. The presentation templates are maintained by template designers."


 * http://smarty.php.net/


 * Why use it?