2017-03-29 16 views
0

我有一个大约一年前写的Smarty的应用程序,现在我迁移到Smarty的v3和我有我的代码的一些错误我没有任何线索,如何解决这些问题。在这里,我将列出他们,感谢Smarty的Undefiend变量,数组

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); 

两者应该被指定为阵列。

+0

也就是说的代码最后位与的'$ test'那样重用混淆,第一工艺的阵列,如'是$ var =阵列(“富”,“酒吧”);'然后使用'$ smarty的其分配 - > assign('name',$ var);'或'$ smarty-> assign('name',array('foo','bar'));' – Scuzzy

+0

谢谢我会测试它 – Mehran

回答

0

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

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

这么简单。

+0

谢谢,其工作很好 – Mehran