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

Get the juciest casino bonuses at this great website

If you are looking for great entertainment online, then we would like to recommend CasinoAdvisers.com. Find the best casino bonus available and much more that makes your casino experience much more enjoyable!

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