Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Smarty 3或更早版本中是否有类似于Dwoo-s{with}或{loop}的东西?_Php_Templates_Smarty_Dwoo - Fatal编程技术网

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

Php Smarty 3或更早版本中是否有类似于Dwoo-s{with}或{loop}的东西?,php,templates,smarty,dwoo,Php,Templates,Smarty,Dwoo,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中达到类似的效果吗 是否有一些内

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中达到类似的效果吗

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


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

您必须完成
循环:

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

    但是,如果您正在搜索用
    替换
    ,恐怕Smarty中没有类似的命令。

    您必须完成
    循环

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

    但是,如果您正在用
    替换
    ,恐怕Smarty中没有类似的命令。

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

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

    {loop}在Dwoo中是{foreach}和{with}的组合。如果Smarty 3中没有{with},那么也没有{loop},在Smarty中,您只需要foreach(现在是with),如上所述。你试过这个代码了吗?我知道这个代码是有效的,但它迫使我为保存当前元素的变量命名,并迫使我通过那个变量访问这个元素。请看一下我的另一个问题,看看我在说什么:{loop}在Dwoo中是{foreach}和{with}的组合。如果Smarty 3中没有{with},那么也没有{loop},在Smarty中,您只需要foreach(现在是with),如上所述。你试过这个代码了吗?我知道这个代码是有效的,但它迫使我为保存当前元素的变量命名,并迫使我通过那个变量访问这个元素。请看一下我关于同一件事的另一个问题,看看我在说什么: