利用smarty循环的时候经常会碰到循环表格的情况,但在循环表格的时候会碰到的一个问题就是:假设一个表有四列,而循环的数组里面有5条数据,这就存在一个问题就是如果直接使用循环的话会导致第二行只有一个列从而导致整个表格变形的问题,实践了良久,终于总结出了下面这个一个方法终结了使用smarty循环表格的这个老大难问题,借此分享一下(以下代码示例是循环一个四列的表格,如果表格列数不同,请自行参考下面代码然后修改相应地方的数字就行了):
{section loop=$student_list name=list} {if $smarty.section.list.first || $smarty.section.list.rownum%5==1}<tr>{/if} <td>{$student_list[list].name}</td> {if $smarty.section.list.last == 1 && $smarty.section.list.rownum%5 != 0} <td colspan="{math equation=x-y x=5 y=$smarty.section.list.rownum%5}"> </td> {/if} {if $smarty.section.list.last || $smarty.section.list.rownum%5==0}</tr>{/if} {/section}