assign()

assign() -- 为模板赋值

描述

void assign ( mixed var)

void assign ( string varname, mixed var)

    你可以显式的传递名/值对,或者传递包含名/值对的关联数组。

例子13-1. assign()

<?php
// 传递名/值对
$smarty->assign('Name''Fred');
$smarty->assign('Address'$address);

// 传递一个关联数组
$smarty->assign(array('city' => 'Lincoln''state' => 'Nebraska'));

// 传递数组
$myArray = array('no' => 10'label' => 'Peanuts');
$smarty->assign('foo',$myArray);

// 传递数据库中的一行数据
$sql 'select id, name, email from contacts where contact ='.$id;
$smarty->assign('contact'$db->getRow($sql));
?>

    在模板中可以这样来访问:

{* 注意变量是大小写敏感的 *}
{$Name}
{$Address}
{$city}
{$state}

{$foo.no}, {$foo.label}
{$contact.id}, {$contact.name},{$contact.email}

    要访问更复杂的数组赋值,可以参见{foreach}{section}

    参见assign_by_ref()get_template_vars()clear_assign()append()以及{assign}