模板设计
关注DiYunCMS公众号
公众号二维码

循环中的隔行显示实现方法

更新时间:2022-04-28 加入收藏

网站开发过程中有时候会有用到隔几行不同样式的需求。

比如下图所示,每隔5行显示一条分隔线

image

实现方法

方法一:

用循环次数变量除于5,如果被整除,表示可以输出隔行符号了。

{php $hang = 1;}  //初始化行变量

{循环标签开始********}

***********
{if $hang%5 == 0}
表示第5行了,可以在这里加上隔行符号<hr>
{/if}
*******
{php $hang++;}  //累计行变量写在结束标签上一行
{循环标签结束********}

方法二:

将结果数组按N个进行拆分为子数组,就可以很方便的循环出来了

例如:

<li>
    <div class="fl">...</div>
    <div class="fr">...</div>
</li>
<li>
    <div class=" fr">...</div>
    <div class=" fl">...</div>
</li>
<li>
    <div class="fl">...</div>
    <div class="fr">...</div>
</li>
<li>
    <div class=" fr">...</div>
    <div class="fl">...</div>
</li>

使用php自带的函数:

array_chunk

实现代码:

通过module标签先查询出结果集
{module module=news order=updatetime}{/module}

-----------

通过php自带的函数按每行2个进行拆分
{php $arr=array_chunk($return, 2, true);}
再通过循环变量拆分后的数据进行输出
{loop $arr $i $a}
<li>
{loop $a  $ii $t}
<div class=" {if $ii%%2==0}fl {else}fr{/if}">{$t.title}</div>
{/loop}
</li>
{/loop}


Hello,欢迎来咨询~
点击在线咨询