1. 奇偶数交替输出不同格式的列表(难度:易)
如:第一行的class="left",第二行的class="right"
{loop table="article" limit="24" isshow="1" as="v"}
{if($v_n%2==1)}{$v['title']}{else}{$v['title']}{/if}
{/loop}可以应用到loop和栏目列表
2. 输出相同数量分组的列表(难度:中)
如:3个为一组,一组组输出
(1)在列表内根据每行数量判断
{foreach $lists as $v}
{if($v_n%3==0)}{/if}{$v['title']}{if($v_n%3==2)}{/if}
{/loop}
{if($v_n%3!=2)}{/if}注意最后一个标签是在foreach后面的,别忘记了
(2)先分组后输出
{php
$newlist = [];
$i = 0
foreach($lists as $k=>$v){
$newlist[$i][]=$v;
if($k%3==2){
$i++;
}
}
/}
{foreach $newlist as $v} {foreach $v as $vv}
{$vv['title']} {/foreach}{/foreach}3. 交替输出每行不同数量的列表(难)
这种实在有“亿”点点麻烦,不过也不是不能实现,我们使用先分组后输出的方式。
如:第一行3个为一组,第二行4个为一组,循环输出
{php
$newlist = [];
$i = 0;
foreach($lists as $v){
$newlist[$i][]=$v;
if($i%2==0){
if($k%3==2){
$i++;
}
}else{
if($k%4==3){
$i++;
}
}
}
/}
{foreach $newlist as $v}
{if($v_n%2==0)} {foreach $v as $vv}
{$vv['title']} {/foreach}{else} {foreach $v as $vv}
{$vv['title']} {/foreach}{/if}
{/foreach}那么,如何将loop转换成foreach去处理输出呢?
这个也简单,多一次循环罢了,如下:
{php
$lists = [];
/}
{loop table="article" isshow="1" limit="24" as="v"}
{php
$lists[]=$v;
/}
{/loop}
这样就得到了$lists,之后就可以使用foreach 输出 $lists以上,就是所有内容,虽然有些难度,当然,复制粘贴,然后修改下就可以用了。
