Functions Each Smarty tag either prints a variable or invokes some sort of function. Functions are processed and displayed by enclosing the function and its attributes into delimiters like so: {funcname attr1='val1' attr2='val2'}. function syntax {$name}! {else} Welcome, {$name}! {/if} {include file='footer.tpl'} ]]> Both built-in functions and custom functions have the same syntax within templates. Built-in functions are the inner workings of Smarty, such as {if}, {section} and {strip}. They should not be modified. Custom functions are additional functions implemented via plugins. They can be modified to your liking, or you can create new ones. {html_options} and {popup} are examples of custom functions.