如何用smarty foreach打开数组?

问题描述 投票:0回答:1

我的数组看起来像这样:

Array ( 
    [seller1] => Array ( 
        [0] => Array ( 
            [reference] => seller1 
            [name] => Lime verder 
            [unit_price] => 44,00 $ 
            [price] => 26,40 $ 
            [quantity] => 0.6 
            [customization] => Array ( ) 
        ) 
        [1] => Array ( 
            [reference] => seller1 
            [name] => Banane 
            [unit_price] => 12,00 $ 
            [price] => 12,00 $ 
            [quantity] => 1 
            [customization] => Array ( ) 
        ) 
    ) 
    [seller2] => Array ( 
        [0] => Array ( 
            [reference] => seller2 
            [name] => qiwi 
            [unit_price] => 33,00 $ 
            [price] => 16,50 $ 
            [quantity] => 0.5 
            [customization] => Array ( ) 
        ) 
        [1] => Array ( 
            [reference] => seller2 
            [name] => Banane 
            [unit_price] => 25,00 $ 
            [price] => 12,50 $ 
            [quantity] => 0.5 
            [customization] => Array ( ) 
        ) 
        [2] => Array ( 
            [reference] => seller2 
            [name] => Porotocale 
            [unit_price] => 32,00 $ 
            [price] => 48,00 $ 
            [quantity] => 1.5 
            [customization] => Array ( ) 
        )
    ) 
    [seller3] => Array ( 
        [0] => Array ( 
            [reference] => seller3 
            [name] => portocale 
            [unit_price] => 21,00 $ 
            [price] => 21,00 $ 
            [quantity] => 1 
            [customization] => Array ( ) 
        ) 
        [1] => Array ( 
            [reference] => seller3 
            [name] => Babana 
            [unit_price] => 26,00 $ 
            [price] => 52,00 $ 
            [quantity] => 2 
            [customization] => Array ( ) 
        ) 
    ) 
) 1

聪明地,我尝试使用:

{foreach from=$sellerProducts key=$seller item=$products}
    <tr>
      <td>{$seller}</td>
      <td>
        <ol>
        {foreach from=$products item=$product}
          <li>{$product.name}</li>
        {/foreach}
        </ol>
      </td>
    </tr>
  {/foreach}

但是我得到空行作为输出。在同一个* tpl文件中,还有另一个foreach循环,看起来与我的不同:

{foreach $list as $product}

与智能版本有关吗?

php smarty
1个回答
0
投票
版本2的{foreach}语法(在版本3中仍受支持)使用key=item=参数的字符串值。因此,您必须将{foreach}循环更改为:

{foreach from=$sellerProducts key=seller item=products} ... {/foreach}

© www.soinside.com 2019 - 2024. All rights reserved.