Fungsi Setiap tag Smarty bisa mencetak variabel ataupun memanggil beberapa fungsi. Ini diproses dan ditampilkan dengan menutupi fungsi dan atributnya di dalam pembatas seperti: {funcname attr1='val1' attr2='val2'}. sintaks fungsi {$name}! {else} hi, {$name} {/if} {include file='footer.tpl' ad=$random_id} ]]> Kedua fungsi built-in dan fungsi kustom mempunyai sintaks yang sama di dalam template. Fungsi built-in adalah inner pekerjaan Smarty, seperti {if}, {section} dan {strip}. Tidak diperlukan untuk mengubah atau memodifikasinya. Fungsi kustom adalah fungsi tambahan yang diimplementasikan via plugins. Ini dapat diubah sesuai dengan yang anda sukai, atau anda bisa membuat yang baru, {html_options} dan {popup} adalah contoh dari fungsi kustom. Lihat juga register_function()