时间:2021-07-01 10:21:17 帮助过:8人阅读
/**
* assigns a Smarty variable
*
* @param array
------解决方案--------------------
string $tpl_var the template variable name(s)
* @param mixed $value the value to assign
* @param boolean $nocache if true any output of this variable will be not cached
* @param boolean $scope the scope the variable will have (local,parent or root)
*/
public function assign($tpl_var, $value = null, $nocache = false)
{
if (is_array($tpl_var)) {
foreach ($tpl_var as $_key => $_val) {
if ($_key != '') {
if (isset($this->tpl_vars[$_key])) {
$this->tpl_vars[$_key]->value = $_val;
$this->tpl_vars[$_key]->nocache = $nocache;
} else {
$this->tpl_vars[$_key] = new Smarty_variable($_val, $nocache);
}
}
}
} else {
if ($tpl_var != '') {
if (isset($this->tpl_vars[$tpl_var])) {
$this->tpl_vars[$tpl_var]->value = $value;
$this->tpl_vars[$tpl_var]->nocache = $nocache;
} else {
$this->tpl_vars[$tpl_var] = new Smarty_variable($value, $nocache);
}
}
}
}