Cada tag Smarty mostra uma variável ou utiliza algum tipo de função. Funções são processadas e exibidas colocando-se a função e seus atributos entre delimitadores, exemplo: {funcname attr1="val" attr2="val"}.
Example 3.2. Sintaxe de funções
{config_load file="cores.conf"} {include file="cabecalho.tpl"} {if $enfase_nome} Seja bem-vindo, <font color="{#corFonte#}">{$nome}!</font> {else} Seja bem-vindo, {$nome}! {/if} {include file="rodape.tpl"}
Ambas as funções internas e as funções personalizadas tem a mesma sintaxe nos templates. Funções internas são o funcionamento do Smarty, tais como if, section e strip. Elas não podem ser modificadas. Funções personalizadas são funções adicionais implementadas por modo de plugins. Elas podem ser modificadas como você quiser, ou você pode adionar novas. html_options e html_select_date são exemplos de funções personalizadas.