我在我的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。如果有人有答案,请发帖。