输出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}
以此类推......