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="val" attr2="val"}. 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 cannot be modified. Custom functions are additional functions implemented via plugins. They can be modified to your liking, or you can add new ones. {html_options} and {popup} are examples of custom functions.