smarty section循环成两列的问题

问题描述:

用section循环,只能循环成一列。也就是一个tr只能带一个td。

现在要实现一个tr带两个td。

解决方案:

判断序号,根据奇偶来决定什么时候出现<tr>开始,什么时候出现</tr>结束。

偶数时开始,奇数时结束。

这样,就能实现一个tr中可以包含多个td了。

代码:

<!--{section loop=$aUserAnswer name=data step=1}-->
            <!--{if $smarty.section.data.index is even}-->
            <tr bgcolor="#f7f7f7"  height="50"  align="left">
            <!--{/if}-->
             <td class="font14_s pl40">&nbsp;<!--{$aUserAnswer[data].realname}-->:&nbsp;&nbsp;<input type="text"  class="input_233" value="<!--{$aUserAnswer[data].score}-->"/></td>
            <!--{if $smarty.section.data.index is odd}-->
            </tr>
            <!--{/if}-->
            <!--{if $smarty.section.data.last}-->
            <!--{if $smarty.section.data.index is even}-->
            <td class="font14_s pl40">&nbsp;</td>
            </tr>
            <!--{/if}-->
            <!--{/if}-->
            <!--{/section}-->

代码解析:

通过$smarty.section.data.index来进行判断,如果是偶数,则<tr bgcolor="#f7f7f7" height="50" align="left">

如果是基数则</tr>

通过if $smarty.section.data.last判断最后一个元素是奇偶,如果是偶数,则补上一个td+一个tr。

这样问题就得到解决了。

效果图如下:

原文地址:https://www.cnblogs.com/jiqing9006/p/2957997.html