其PHP标签内的Smarty对象属性

时间:2011-08-04 19:51:24

标签: php smarty

我有一个聪明的应用程序,其中正在打印一系列地址。它在我正在使用的模板中的某个时刻也有一个邮政编码。

{foreach item=i from=$members}
{$i.ZIP}
{/foreach}

上述代码有效但我严格将邮政编码设为5位数,我知道可以通过以下代码完成。

{foreach item=i from=$members}
substr_replace("00000", {$i.ZIP}, 5 - strlen({$i.ZIP}));
{/foreach}

但是上面的代码不起作用并且给出了运行时错误。有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

除非将其包装在{php}标记中,否则不能在Smarty模板中使用PHP代码。在这种情况下,您可以使用string_format

来避免这种情况

我认为应该这样做:

{$ i.ZIP | string_format: “%05S”}