smarty template engine
Tuesday, October 07, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


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

Nome AttributoTipoObbligatorioDefaultDescrizione
namestringanodefaultNome del blocco catturato
assignstringanonessunoNome della variabile cui assegnare l'output catturato

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}




 

credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.