|
|

|
Capítulo 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
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.
| Cuidado |
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.
|
Exemplo 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} |
|
|
|
|