Smarty 未定义变量作为数组

Smarty Undefiend Variable As Array

我有一个大约 1 年前编写的 smarty 应用程序,现在我迁移到 Smarty v3,我的代码中有一些错误,我不知道如何修复它们。在这里我将列出它们,谢谢

1-不能将 Smarty_Undefined_Variable 类型的对象用作数组

$this->_tpl_vars['cart']['domains'] = array();

我能够像这样设置变量,但现在我在使用这段代码时遇到错误,我阅读了 Smarty 文档,它说:为了制作变量,我应该使用这段代码:

$template->assign('myNewVariable', 'myNewValue');

问题是我想在变量中添加一个数组,它像上面显示的代码一样嵌套,我需要这样的数组:

 $template->assign('cart[domains]', 'myNewValue');

或者也许:

$test= $template->assign('cart', array);
$domain=$test->assign('domains',array);

它们都应该赋值为数组。

如果你想把一个数组转成一个变量,你可以这样做

$arr['domain']=YourNewValue;
$template->assign('cart', $arr);

就这么简单。