如何在smarty模板中进行四次循环后添加新行

时间:2010-02-08 10:15:47

标签: php smarty

我想在四次循环后添加新行。我使用{section loop = $ arrProducts name = index} 当执行数组将显示所有产品在一行但我想要添加每四个产品。我该怎么办???

感谢您使用此代码

{if $arrProducts neq " "}
{section loop=$arrProducts name=index}
<td width="565" align="center" valign="top">

<img src="admin/{$arrProducts[index].image}" width="121" height="90" class="prodImg"/><br>
<span class="prodName">{$arrProducts[index].name}</span><br>
<span class="prodPrice">{$arrProducts[index].price}&nbsp;LE</span><br>
<font class="quality">QTY.</font><input type="text" name="txtorder" size="1" class="txtproduct" /><font class="quality">&nbsp;Kg</font><br />
</td>
{/section}
{/if}

1 个答案:

答案 0 :(得分:0)

我总是使用聪明的数学来看看是否需要添加新行。它可能看起来像这样:

{if $arrProducts neq " "}
<tr>
{section loop=$arrProducts name=index}
{if $index % 4 == 0}
</tr><tr>
{/if}
<td width="565" align="center" valign="top">

    <img src="admin/{$arrProducts[index].image}" width="121" height="90" class="prodImg"/><br>
    <span class="prodName">{$arrProducts[index].name}</span><br>
    <span class="prodPrice">{$arrProducts[index].price}&nbsp;LE</span><br>
    <font class="quality">QTY.</font><input type="text" name="txtorder" size="1" class="txtproduct" /><font class="quality">&nbsp;Kg</font><br />
</td>
{/section}
</tr>
{/if}