输出20条数据,使用loop输出。有可能不足20条,要考虑不足20条的情况。
前端格式:
<ul> <li class="样式1"> <dl> <dd>1</dd> <dd>2</dd> <dd>3</dd> <dd>4</dd> <dd>5</dd> </dl> </li> <li class="样式2"> <dl> <dd>1</dd> <dd>2</dd> <dd>3</dd> <dd>4</dd> <dd>5</dd> </dl> </li> <li class="样式3"> <dl> <dd>1</dd> <dd>2</dd> <dd>3</dd> <dd>4</dd> <dd>5</dd> </dl> </li> <li class="样式4"> <dl> <dd>1</dd> <dd>2</dd> <dd>3</dd> <dd>4</dd> <dd>5</dd> </dl> </li> </ul>
$v_n从1开始计数,%求模:1/5 = 1,2/5=2,5/5=0,10/5=0,7/5=2。
实现:
<ul>
{loop table="article" limit="20" as="v"}
{if($v_n%5==1)}
<li>
<dl>
{/if}
<dd>{$v['id']}{$v['title']}</dd>
{if($v_n%5==0)}
</dl>
</li>
{/if}
{/loop}
{if($v_n%5!=0)}
</dl>
</li>
{/if}
</ul>如果每5组样式完全不同,那么就要对每组进行特定处理。
需要先格式化数据,将每5组数据存储到新的数组里面,然后特定处理。
{php
$newlist = [];
$i = 0;
/}
{loop table="article" limit="20" as="v"}
{if($v_n%5==0)}
{php $i = $i+1; /}
{else}
{php $newlist[$i][] = $v; /}
{/if}
{/loop}
<!-- 处理特定数据 -->
<!-- 第一组 -->
{if($newlist[0])}
{foreach $newlist[0] as $v}
{/foreach}
{/if}
<!-- 第二组 -->
{if($newlist[1])}
{foreach $newlist[1] as $v}
{/foreach}
{/if}以此类推......

