{$count_products = $products|count}
{$row_count = ($count_products/4)|ceil}
<ul class="products">
{$i=0}
{foreach $products as $product}
{$i=$i+1}
{if $product@first || $i==1}<li class="product">{/if}
<div class="product_block">
тут код для товара
</div>
{if $i==$row_count || $product@last}</li>{$i=0}{/if}
{/foreach}
</ul>
подсказал mishanya, на симплафоруме
{$count_products = $products|count}
{$row_count = ($count_products/4)|floor}
{$big_columns = $count_products%4}
<ul class="products">
{$i=0} {$i2=1}
{foreach $products as $k =>$product}
{$i=$i+1}
{if $i==1}<li class="product">{/if}
<div class="product_block">
[товар, колонка {$i2}, позиция {$i}]
</div>
{if ($i==$row_count && $i2>$big_columns ) || $i>$row_count || $product@last}</li>{$i=0}{$i2++}{/if}
{/foreach}
</ul>
Kors, симплафорум