Smarty模板数组变量打印错误

时间:2014-05-22 09:52:10

标签: php arrays 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/>

但是,没有什么是印刷品。

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作

{assign 'decoded' $data.Experience|unserialize}

{$decoded.from.1}
{$decoded.to.1}
{$decoded.Industry.1}
...

在smarty 3中测试

答案 1 :(得分:0)

最后我自己得到了答案。

Smarty版本2.x中有不同的语法 我做了如下,其工作对我很好。

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

我不知道为什么分配变量在Smarty版本2.x中不起作用如果有人有答案请发帖。