Smarty模板数组变量打印错误


Smarty template array variable print error

我在我的smarty模板中有以下代码:

{$data.Experience}

将返回如下输出:

a:5:{s:4:"from";a:1:{i:1;s:0:"";}s:2:"to";a:1:{i:1;s:0:"";}s:11:"CompanyName";a:1:{i:1;s:0:"";}s:8:"Industry";a:1:{i:1;s:22:"Information Technology";}s:8:"Position";a:1:{i:1;s:0:"";}}

谁能让我知道为什么它是打印序列化数组和我如何打印.tpl文件中的每个字段值。

试试这个也:

{assign var='decoded' value=$data.Experience|unserialize}
        <br/>
        From: {$decoded.from.1}<br/>
        To: {$decoded.to.1}<br/>
        Industry: {$decoded.Industry.1}<br/>

您可以执行以下操作

{assign 'decoded' $data.Experience|unserialize}
{$decoded.from.1}
{$decoded.to.1}
{$decoded.Industry.1}
...

最后我自己找到了答案。

在Smarty Version 2.x中有不同的语法我做了以下的工作,它对我来说很好。

{foreach from=$data.WorkExperience|unserialize key=key item=value}
     <li>{$key|ucfirst}: {$value.1}</li>
{/foreach}

我不知道为什么赋值变量不工作在Smarty版本2。如果有人有答案,请发帖。