前台排版效果图:
方案一:通过两个block:list 来实现? 当然可以,但是不推荐。多一次调用,至少会多一个sql查询。
方案二:一次读取数据,截取输出(推荐):
{block:list cid="0" mid="2" limit="10" orderby="time" titlenum="28"}
<!--截取第一条-->
{php}$data1 = array_slice($data['list'],0,1);{/php}
{loop:$data1 $v}
<p><a href="{$v[url]}"><img src="{$v[pic]}"><b>{$v[subject]}</b><i>{$v[intro]}</i></a></p>
{/loop}
<!--从2条开始截取到最后-->
{php}$data2 = array_slice($data['list'],1);{/php}
{loop:$data2 $v}
<p><a href="{$v[url]}">{$v[subject]}</a></p>
{/loop}
{/block}
可以发散思维,如果前台需要三种排版,那么您可以一次调用数据,然后截取分成三段,再循环展示!
listeach 标签是否可以实现该效果?
{block:listeach limit="8"}
{loop:$data $v}
<h2 class="b2_tit">
<a class="more" href="{$v[cate_url]}">更多</a>
<b>{$v[cate_name]}</b>
</h2>
<!--截取第一条-->
{php}$data1 = array_slice($v['list'],0,1);{/php}
{loop:$data1 $vv}
<p><a href="{$vv[url]}"><img src="{$vv[pic]}"><b>{$vv[subject]}</b><i>{$vv[intro]}</i></a></p>
{/loop}
<!--从2条开始截取到最后-->
{php}$data2 = array_slice($v['list'],1);{/php}
{loop:$data2 $vv}
<p><a href="{$vv[url]}">{$vv[subject]}</a></p>
{/loop}
{/loop}
{/block}
发表评论