foreach всегда работал для меня. позвольте asume, $smarty
- это ваш уже инициализированный и работающий экземпляр smarty 3, а $arr
- ваш массив.
вам нужно присвоить массив smarty в php:
$smarty->assign('arr', $arr);
затем вы проходите через foreach в шаблоне:
{foreach $arr as $item}
<tr>
<td>{$item.name}</td>
<td>{$item.price}</td>
<td>{$item.ram}</td>
....
</tr>
{/foreach}