Custom Functions

Smarty Manual
Prev |  | Next

# Chapter 8. Custom Functions

Smarty comes with several custom functions that you can use in the templates.

# {assign}

`{assign}` is used for assigning template variables during the execution of a template.

Attribute Name | Type | Required | Default | Description
--- | --- | --- | --- | ---
var | string | Yes | n/a | The name of the variable being assigned
value | string | Yes | n/a | The value being assigned

Example 8-1. {assign}
    {assign var='name' value='Bob'}

    The value of $name is {$name}.
The above example will output:
    The value of $name is Bob.

Example 8-2. {assign} with some maths This complex example must have the variables in `backticks`
    {assign var=running_total value=`$running_total+$some_array[row].some_value`}

Example 8-3. Accessing {assign} variables from a PHP script To access `{assign}` variables from a php script use `get_template_vars()`. Here's the template that creates the variable `$foo`.
    {assign var='foo' value='Smarty'}
The template variables are only available after/during template execution as in the following script.
`<?php // this will output nothing as the template has not been executed echo $smarty->get_template_vars('foo'); // fetch the template to a variable $whole_page = $smarty->fetch('index.tpl'); // this will output 'smarty' as the template has been executed echo $smarty->get_template_vars('foo'); $smarty->assign('foo','Even smarter'); // this will output 'Even smarter' echo $smarty->get_template_vars('foo'); ?>`

The following functions can also optionally assign template variables.

`{capture}`, `{include}`, `{include_php}`, `{insert}`, `{counter}`, `{cycle}`, `{eval}`, `{fetch}`, `{math}`, `{textformat}`

See also `assign()` and `get_template_vars()`.

Prev | Home | Next
{strip} | Up | {counter}