Ogni tag di Smarty può stampare una variable o chiamare una qualche funzione. Le funzioni vengono richiamate richiudendo la funzione e i suoi attributi fra i delimitatori, così: {nomefunzione attr1="val" attr2="val"}.
Example 3.2. sintassi delle funzioni
{config_load file="colors.conf"} {include file="header.tpl"} {if $highlight_name} Welcome, <font color="{#fontColor#}">{$name}!</font> {else} Welcome, {$name}! {/if} {include file="footer.tpl"}
Sia le funzioni incorporate che le funzioni utente hanno la stessa sintassi nel template. Le funzioni incorporate sono il cuore pulsante di Smarty, ad esempio if, section e strip. Non possono essere modificate. Le funzioni utente sono funzioni addizionali sviluppate attraverso i plugin. Potete modificarle a piacere, e potete crearne di nuove. html_options e html_select_date sono esempi di funzioni utente.