smarty template engine
Saturday, May 17, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


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.

Attribut NameTypBenötigtStandardwertBeschreibung
namestringnodefaultDer Name des abgefangenen Blocks
assignstringNon/aDer Name der Variable welcher der Wert zugewiesen werden soll.

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}.




 

credits 

Smarty Copyright © 2002-2008 New Digital Group, Inc.
All rights reserved.
Last updated: Tue Feb 12 09:11:05 2008 CST