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.
7.1. capture (Ausgabe abfangen) 'capture' wird verwendet, um die Template-Ausgabe abzufangen und in einer
Variable zu speichern. Der Inhalt zwischen {capture name="foo"} und
wird unter der im 'name' Attribut angegebenen Variable abgelegt und kann über
'$smarty.capture.foo' angesprochen werden. Falls kein 'name'-Attribut
übergeben wurde, wird der Inhalt in 'default' abgelegt.
Jede Sektion muss mit beendet werden.
'capture'-Blöcke können verschachtelt sein.
 | Technische Bemerkung |
|---|
| | Smarty 1.4.0 - 1.4.4 speicherte den abgefangenen Inhalt in der
Variable '$return'. Seit 1.4.5 wird das 'name'-Attribut verwenden.
Bitte passen Sie Ihre Templates entsprechend an.
|
 | 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"}
{if $smarty.capture.banner ne ""}
<tr>
<td>
</td>
</tr>
|