imported>mutante m (fixed via mail input) |
imported>Cosmea m (typo, links added) |
||
Line 1:
Smarty ist eine recht
"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."▼
Man setzt im [[PHP]]-Quellcode nur noch Werte die der Designer dann später leicht nutzen kann. zb so:▼
▲Man setzt also im [[PHP]]-Quellcode nur noch Werte, die der Designer dann später leicht nutzen kann.
==Beispiele==
$Smarty->assign("varnamefuertemplate", $phpvariable);
(wobei $phpvariable auch zB ein array sein kann).
"Hallo {$name}, du bist eingelogt"
oder
from=$varnamefuertemplate}<tr><td>{$foo.id}</td><td>{$foo.name}</td></tr>{/foreach}</table></pre>
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▼
▲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-
{include file="menu.tpl" aktiv="seite23"}
sehr nett sind auch so sachen wie <pre><a href="/foo/bar/user_{$name|urlencode}>{$name}</a></pre>▼
da kann man dann auch leicht eigene sachen implementieren die andere sachen als |urlencode machen. aber es gibt auch schon x andere wie zB |truncate mit x parametern um lange text im preview zu kürzen und "..." hinten dran zu hängen oder |default="foo" um zB in formularen leicht default-werte für noch nicht ausgefüllte felder zu machen▼
▲
Da kann man dann auch leicht eigene Sachen implementieren, die anderes als |urlencode machen.
▲
▲"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."
==links==
* http://smarty.php.net/
* [http://smarty.php.net/whyuse.php Why use it?]
* [http://smarty.incutio.com/ Smarty-wiki]
* [http://hasin.wordpress.com/2006/06/10/smarty-cheat-sheet-version-20/ Smarty Cheat Sheet]
{{stub}}
[[Category:Programming Languages]]
|
Latest revision as of 20:22, 24 October 2006
Smarty ist eine recht weit verbreitete und dadurch ziemlich ausgereifte open source template engine für PHP.
"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."
Man setzt also im PHP-Quellcode nur noch Werte, die der Designer dann später leicht nutzen kann. Damit wird die Trennung von Code und Layout/Ausgabe ermöglicht.
Beispiele[edit]
$Smarty->assign("varnamefuertemplate", $phpvariable);
(wobei $phpvariable auch zB ein array sein kann).
In den templates (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:
<table><tr><td>nr</td><td>name</td></tr> {foreach item=foo from=$varnamefuertemplate}<tr><td>{$foo.id}</td><td>{$foo.name}</td></tr>{/foreach}</table>
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-codes "aktiviert" wird, steht oben {include file="kopf.tpl"} und unten analog fuss.tpl und ggf. auch
{include file="menu.tpl" aktiv="seite23"}
Im template menu.tpl kann dann beispielsweise mit
{if aktiv=="SeiteX"}<div=highlight>{/if}
oder so der entsprechende Eintrag hervorgehoben werden.
Sehr nett sind auch so Sachen wie
<a href="/foo/bar/user_{$name|urlencode}>{$name}</a>
Da kann man dann auch leicht eigene Sachen implementieren, die anderes als |urlencode machen.
Aber es gibt auch schon x andere, wie z.B. |truncate mit x Parametern, um lange Texte im preview zu kürzen und "..." hinten dran zu hängen oder |default="foo", um z.B. in Formularen leicht default-Werte für noch nicht ausgefüllte Felder zu machen.
links[edit]
Template loop detected: Template:Stub