Chapter 7. Eingebaute Funktionen

Table of Contents

{capture} (Ausgabe abfangen)
{config_load} (Konfiguration laden)
{foreach}, {foreachelse}
iteration
first
last
show
total
{if},{elseif},{else}
include (einbinden)
include_php (PHP-Code einbinden)
insert (einfügen)
ldelim,rdelim (Ausgabe der Trennzeichen)
literal
php
section,sectionelse
index
index_prev
index_next
first
last
rownum
loop
show
total
strip

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 Name Typ Benötigt Standardwert Beschreibung
name string no default Der Name des abgefangenen Blocks
assign string No n/a Der Name der Variable welcher der Wert zugewiesen werden soll.

Caution

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.

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

   


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