|
|

|
Capitolo 7. Funzioni incorporate
Smarty è dotato di numerose funzioni incorporate. Queste funzioni
sono integrate nel linguaggio del template: non è possibile creare funzioni
utente con gli stessi nomi, e nemmeno modificare le funzioni
incorporate.
capture
capture si usa per intercettare l'output del template assegnandolo
ad una variabile invece di visualizzarlo. Qualsiasi contenuto compreso
fra {capture name="foo"} e {/capture} viene aggiunto alla variabile
specificata nell'attributo name. Il contenuto catturato può essere
usato nel template utilizzando la variabile speciale $smarty.capture.foo
dove foo è il nome passato nell'attributo name. Se non fornite un
attributo name, verrà usato "default". Tutti i comandi {capture}
devono essere chiusi con {/capture}. E' possibile nidificarli.
Nota tecnica:
Le versioni da 1.4.0 a 1.4.4 di Smarty mettevano il contenuto catturato
nella variabile $return. A partire dalla 1.4.5 si utilizza l'attributo
name, quindi modificate i vostri template di conseguenza.
| Cautela |
Fate attenzione se catturate l'output di insert.
Se avete il caching attivato e usate comandi insert
che vi aspettate vengano eseguiti nel contenuto in cache, non
catturate questo contenuto.
|
Esempio 7-1. catturare il contenuto del template {* vogliamo stampare la riga di tabella solo se c'è del contenuto *}
{capture name=banner}
{include file="get_banner.tpl"}
{/capture}
{if $smarty.capture.banner ne ""}
<tr>
<td>
{$smarty.capture.banner}
</td>
</tr>
{/if} |
|
|
|
|