Smarty Manual
Prev | Chapter 3. Basic Syntax | Next

# Functions

Every Smarty tag either prints a variable or invokes some sort of function. These are processed and displayed by enclosing the function and its attributes within delimiters like so: `{funcname attr1='val1' attr2='val2'}`.

Example 3-3. function syntax
    {config_load file='colors.conf'}

    {include file='header.tpl'}
    {insert file='banner_ads.tpl' title='Smarty is cool'}

    {if $logged_in}
        Welcome, <font color="{#fontColor#}">{$name}!</font>
    {else}
        hi, {$name}
    {/if}

    {include file='footer.tpl' ad=$random_id}

- 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}`. There should be no need to change or modify them.

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

See also `register_function()`

Prev | Home | Next
Variables | Up | Attributes