Name
assign() — assign values to the templates
Description
void assign(mixed var);
void assign(string varname,
mixed var);
You can explicitly pass name/value pairs, or associative arrays containing the name/value pairs.
Example 13.3. assign()
<?php // passing name/value pairs $smarty->assign('Name', 'Fred'); $smarty->assign('Address', $address); // passing an associative array $smarty->assign(array('city' => 'Lincoln', 'state' => 'Nebraska')); // passing an array $myArray = array('no' => 10, 'label' => 'Peanuts'); $smarty->assign('foo',$myArray); // passing a row from a database (eg adodb) $sql = 'select id, name, email from contacts where contact ='.$id; $smarty->assign('contact', $db->getRow($sql)); ?>
These are accessed in the template with
{* note the vars are case sensitive like php *} {$Name} {$Address} {$city} {$state} {$foo.no}, {$foo.label} {$contact.id}, {$contact.name},{$contact.email}
To access more complex array assignments see
{foreach}
and
{section}
See also
assign_by_ref()
,
get_template_vars()
,
clear_assign()
,
append()
and
{assign}
Comments