Smarty 3 或更早版本中有类似 Dwoo-s {with} 或 {loop} 的东西吗?

发布于 2024-09-27 10:30:16 字数 455 浏览 2 评论 0原文

Dwoo 模板引擎中的 {with} 和 {loop} 插件更改变量名称解析的默认上下文。

: 提供 template

{$arr.foo}
{with $arr} {$foo} / {$arr.foo} {/with}

如果在 Dwoo 中使用 data

array('arr' => array( 'foo' => 'bar' ))

: ,它将输出:

bar
bar / 

因为第二个 {$arr.foo} 实际上意味着全局上下文中的 {$arr.arr.foo} 。

你知道如何在Smarty中实现类似的效果吗?

是否有一些内置功能或第三方插件可以让我拥有这个?

如果这样的插件不存在,您知道如何构建它吗?

{with} and {loop} plugins in Dwoo template engine change default context for variable name resolution.

If in Dwoo you feed template:

{$arr.foo}
{with $arr} {$foo} / {$arr.foo} {/with}

with data:

array('arr' => array( 'foo' => 'bar' ))

it will output:

bar
bar / 

because second {$arr.foo} actually means {$arr.arr.foo} in global context.

Do you know how can I achieve similar effect in Smarty?

Is there some builit in functionality or third party plugin that might allow me to have this?

Do you have any idea how to build such a plugin if it does not exist?

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

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

发布评论

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

评论(2

野却迷人 2024-10-04 10:30:16

你可以使用 foreach 来实现循环:

{foreach from=$arr item=foo}
    <li>{$foo}</li>
{/foreach}

但是,如果你正在寻找 with 的替代品,恐怕 Smarty 中没有类似的命令。

You have foreach to achive the loop:

{foreach from=$arr item=foo}
    <li>{$foo}</li>
{/foreach}

If you are however searching for a replacement of with, I'm afraid there is no similar command in Smarty.

倾城月光淡如水﹏ 2024-10-04 10:30:16

据我所知,在 Smarty 3 或更早版本中无法实现此效果。

To my knowledge you can't achieve this effect in Smarty 3 or earlier.

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