|
|

|
Kapitel 7. Eingebaute Funktionen
Smarty enthält eine Reihe eingebauter Funktionen. Eingebaute Funktionen
sind integral für die Template-Sprache. Sie können sie weder
verändern noch eigene Funktionen unter selbem Namen erstellen.
{capture} (Ausgabe abfangen)
{capture} wird verwendet, um die Template-Ausgabe abzufangen und in
einer Variable zu speichern. Der Inhalt zwischen {capture
name="foo"} und {/capture} wird unter der im 'name' Attribut
angegebenen Capture-Variablen abgelegt und kann über $smarty.capture.foo
angesprochen werden. Falls kein 'name'-Attribut übergeben wurde,
wird der Inhalt in 'default' (also $smarty.capture.default)
abgelegt. Jede {capture} Sektion muss mit {/capture} beendet
werden. {capture}-Blöcke können verschachtelt sein.
| Achtung |
Seien Sie vorsichtig, wenn sie die Ausgabe von {insert} abfangen
wollen. Sie sollten die Ausgabe nicht abfangen, wenn Caching
eingeschaltet ist und Sie einen {insert} Befehl
verwenden, um Ausgaben vom Caching auszuschliessen.
|
Beispiel 7-1. Template-Inhalte abfangen {* Tabellenzeile nur ausgeben, wenn Inhalt vorhanden *}
{capture name=banner}
{include file='get_banner.tpl'}
{/capture}
{if $smarty.capture.banner ne ""}
<table>
<tr>
<td>
{$smarty.capture.banner}
</td>
</tr>
</table>
{/if} |
|
Beispiel 7-2. Template-Inhalte abfangen
Hier ist ein Beispiel das das Zusammenspiel mit der Funktion {popup} demonstriert.
{capture name=some_content assign=popText}
.... some content ....
{/capture}
<a href="#" {popup caption='Help' text=$popText}>help</a> |
|
Siehe auch:
$smarty.capture,
{eval},
{fetch},
fetch()
and {assign}.
|
|
|