What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Table of Contents
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.
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.
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.
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}