如何在Smarty中设置循环中的每4次迭代,我会在表中获得新行?
我正在尝试这样的事情:
我正在尝试这样的事情:
<table> {foreach $arr as $v} {counter start=0} {if $counter/4 == 0} <tr><td>{$v}</td></tr> {else} <td>{$v}</td> {/if} <td> {/foreach} </table>
但我明白这是愚蠢的,我被困住了,有没有正常的方法呢?
解决方法
如果没有数据,如果你可以使用空行,那么使用:
{assign var="counter" value="0"} <table> <tr> {foreach $arr as $v} {assign var="counter" value=$counter + 1} {if $counter % 4 == 0} </tr><tr> {/if} <td>{$v}</td> {/foreach} </tr> </table>
如果你不能忍受这个,那么你需要在渲染表之前检查是否有可用的数据.
仍然可以说$arr的计数必须是4的倍数.否则,需要正确设置columnspan属性.