assign()

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-1. 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}