$_val) { if ($_key != '') { self::append($data, $_key, $_val, $merge, $nocache); } } } else { if ($tpl_var != '' && isset($value)) { if (!isset($data->tpl_vars[$tpl_var])) { $tpl_var_inst = $data->_getVariable($tpl_var, null, true, false); if ($tpl_var_inst instanceof Smarty_Undefined_Variable) { $data->tpl_vars[$tpl_var] = new Smarty_Variable(null, $nocache); } else { $data->tpl_vars[$tpl_var] = clone $tpl_var_inst; } } if (!(is_array($data->tpl_vars[$tpl_var]->value) || $data->tpl_vars[$tpl_var]->value instanceof ArrayAccess) ) { settype($data->tpl_vars[$tpl_var]->value, 'array'); } if ($merge && is_array($value)) { foreach ($value as $_mkey => $_mval) { $data->tpl_vars[$tpl_var]->value[$_mkey] = $_mval; } } else { $data->tpl_vars[$tpl_var]->value[] = $value; } } } return $data; } }