关联数组上的Smarty电流

时间:2010-10-05 06:57:25

标签: smarty

我有一个关联数组,我试图用smarty获得第一条记录。

在php中我使用current(array),但smarty似乎没有最新版本。

所以我写了下面的代码

{if is_array($browseProducts.data) }
    <ul class="products-grid">

        {foreach from=$browseProducts.data item=item}
            {assign var='image' value=''}
            {if is_array($item.images) }
                {php} $image=current($item.images); {/php} 
            {/if}   
        {/foreach}

    </ul>
{/if}

在{php}部分当前($ item.images)给出警告:current()[function.current]:传递的变量不是数组或对象

语法是正确的,所以我想来自smarty的$ item.images无法被{php}

读取

任何方式将$ item.images传递给{php}部分,或者是什么。

有什么建议可以解决我的问题吗?

2 个答案:

答案 0 :(得分:12)

但是如果数组的键是关联的呢?你也可以这样做:

{$item.images|@current}

答案 1 :(得分:2)

{$item.images.0}

应该返回$ item.images数组的第一个元素。

所以:

{if is_array($browseProducts.data) }
    <ul class="products-grid">

        {foreach from=$browseProducts.data item=item}
            {assign var='image' value=''}
            {if is_array($item.images) }
                {$item.images.0}
            {/if}   
        {/foreach}

    </ul>
{/if}