Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

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

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors