PHP 标签内的 Smarty 对象属性

发布于 2024-11-28 08:49:02 字数 351 浏览 0 评论 0原文

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

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

尽管我严格将邮政编码设置为 5 位数字,但上面的代码仍然有效,我知道可以通过以下代码来完成。

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

但上面的代码不起作用并给出运行时错误。我有什么遗漏的吗?

I have an smarty application where a series of addresses are being printed. It has a zip code too so at some point in template I am using.

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

The above code works though I am strictly making zip codes to 5 digits which I know can be accomplished by the following code.

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

But the above code doesn't work and gives run time error. Is there something I am missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

分分钟 2024-12-05 08:49:02

除非将 PHP 代码包装在 {php} 标记中,否则不能在 Smarty 模板中使用 PHP 代码。在这种情况下,您可以使用 来避免这种情况字符串格式

我认为应该这样做:

{$i.ZIP|string_format:"%05s"}

You can't use PHP code in a Smarty template unless you wrap it in {php} tags. In this case, you can avoid that by using string_format.

I think this should do:

{$i.ZIP|string_format:"%05s"}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文