我是Smarty的新手,结合PHP,我非常喜欢它。 不幸的是,在$ _POST完成后验证字段时遇到了问题。
我创建了一个名为$ errors的数组,并使用它来保存错误消息,例如:$ errors []。=“错误的电子邮件”;。 我的问题是将$ errors数组发送到模板,以便我可以使用它来显示错误消息。
我的问题:如何将$ errors变量“转移”到模板文件中,以便在那里使用它,例如{foreach}。我打算做一些像
这样的事情{if $hasErrors}
{foreach from=errors item=error}
<li>{$error}</li>
{/foreach}
{/if}
提前致谢
答案 0 :(得分:1)
您可以将数组分配给模板,就像任何其他变量一样。
$smarty->assign('errors', $errors);
此外,在最初构建数组时,请删除连接运算符,然后使用:
$errors[] = 'Wrong email';
最后,确保在尝试向其添加元素或分配数组之前初始化数组。
$errors = array()
编辑:既然您已经包含了其他信息,我认为问题与您的Smarty标记语法有关。请尝试使用此行,为您的变量添加$
:
{foreach from=$errors item=error}