2

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

如果在 Dwoo 中您提供模板:

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

有数据:

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

它将输出:

bar
bar / 

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

你知道我怎样才能在 Smarty 中达到类似的效果吗?

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

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

4

2 回答 2

0

你有 foreach 来实现loop

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

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

于 2010-10-19T14:00:34.247 回答
0

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

于 2010-12-28T16:40:38.070 回答