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"}.
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.