Table of Contents
Smarty wird mit verschiedenen massgeschneiderten Funktionen geliefert, welche Sie in Ihren Templates verwenden können.
{assign} wird verwendet um einer Template-Variable innerhalb eines Templates einen Wert zuzuweisen.
Attribut Name | Typ | Erforderlich | Standardwert | Beschreibung |
---|---|---|---|---|
var | string | Ja | n/a | Der Name der zuzuweisenden Variable. |
value | string | Ja | n/a | Der zuzuweisende Wert. |
Example 8.1. {assign} (zuweisen)
{assign var="name" value="Bob"} Der Wert von $name ist {$name}.
Ausgabe des obiges Beispiels:
Der Wert von $name ist Bob.</programlisting>
Example 8.2. Zugriff auf mit {assign} zugwiesene Variablen von PHP aus.
Um auf zugewiesene Variablen von php aus zuzugreifen nimmt man get_template_vars(). Die zugewiesenen variablen sind jedoch nur wärhend bzw. nach der Ausgabe des Template verfügbar.
{* index.tpl *} {assign var="foo" value="Smarty"}
<?php // Keine Ausgabe, das das Template noch nicht ausgegeben wurde: echo $smarty->get_template_vars('foo'); // das Template in eine ungenutzte Variable ausgeben $nix = $smarty->fetch('index.tpl'); // Gibt 'smarty' aus, da die {assign} anweisung im Template ausgeführt // wurde echo $smarty->get_template_vars('foo'); $smarty->assign('foo','Even smarter'); // Ausgabe 'Even smarter' echo $smarty->get_template_vars('foo'); ?>
Folgende Funktionen haben optionale assign-Attribute:
{capture}, {include}, {include_php}, {insert}, {counter}, {cycle}, {eval}, {fetch}, {math}, {textformat}
Siehe auch assign() und get_template_vars().