XOOPS Brasil

 

Chapter 7. Funções internas

O Smarty contém várias funções internas. Funções internas são parte integral da linguagem de template. Você não pode criar funções personalizadas com o mesmo nome de uma função interna, e também não pode modificar funções internas.

capture

Nome do Atributo Tipo Obrigatório Padrão Descrição
name string Não default O nome do bloco capturado
assign string Não n/a O nome da variável para dar o valor da saída capturada

capture é usado para coletar toda a saída do template em uma variável ao invés de mostra-lo. Qualquer conteúdo entre {capture name="foo"} e {/capture} coletado na variável especificada no atributo name. O conteúdo capturado pode ser usado no template a partir da variável especial $smarty.capture.foo aonde foo é o valor passado para o atributo name. Se você não passar um atributo name, então será usado "default". Todos os comandos {capture} devem ter o seu {/capture}. Você pode aninhar(colocar um dentro de outro) comandos capture.

Nota Tecnica

Smarty 1.4.0 - 1.4.4 coloca o conteúdo capturado dentro da variável chamada $return. A partir do 1.4.5, este funcionamento foi mudado para usar o atributo name, então atualize os seus templates de acordo.

Caution

Tenha cuidado quando capturar a saída do comando insert. Se você tiver o cache em on e você tiver comandos insert que você espera que funcione com conteúdo do cache, não capture este conteúdo.

Example 7.1. capturando conteúdo do template


{* nós não queremos mostrar uma linha de tabela à não ser que haja conteúdo para ela *}
{capture name=banner}
{include file="pegar_banner.tpl"}
{/capture}
{if $smarty.capture.banner ne ""}
	<tr>
		<td>
			{$smarty.capture.banner}
		</td>
	</tr>
{/if}