What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
assign() — assign values to the templates
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}