迅睿cms模板循环标签每隔几行几个更换或指定输出特定样式

迅睿教程 0次 来源:天荣CMS 收藏

制作前端模板时,有时在调用循环标签时,需要每隔几条内容,更换或指定输出特定样式。比如列表页循环每逢第三个更换样式;比如循环中实现每隔5条记录加一个隔行符号;比如实现隔行更换样式;比如Table中每三篇文章输出一个特定字段;等等此类问题,都可以使用以下原理来实现:

参考示例一

问题思路

比如在循环中实现每隔5条记录,加一个隔行符号。那么我们可以用循环次数变量除于5,如果被整除,表示可以输出隔行符号了

实现代码

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


参考示例二

问题思路

比如在前端是table表格,循环中,需要5个一行。那么我们可以使用php自带的函数array_chunk将结果数组按N个进行拆分为子数组,就可以很方便的循环出来了。

实现代码

//通过module标签 或 其他循环标签 先查询出结果集
{module module=news order=updatetime}{/module} 
//通过php自带的函数按每行5个进行拆分
{php $arr=array_chunk($return, 5, true);}
//再通过循环变量拆分后的数据进行输出
{loop $arr $i $a}

    {loop $a  $ii $t}
    
    {/loop}

{/loop}
"{$t.url}" >{$t.title}


参考示例三

问题思路

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

比如上方前端代码,两条数据一组,按左右布局排列。那么我们可以使用php自带的函数array_chunk将结果数组按2个进行拆分为子数组,进行循环。

实现代码

//通过module标签 或其他循环标签 先查询出结果集
{module module=news order=updatetime}{/module}
//通过php自带的函数按每行2个进行拆分
{php $arr=array_chunk($return, 2, true);}
//再通过循环变量拆分后的数据进行输出
{loop $arr $i $a}
  • {loop $a  $ii $t} " {if $ii%2==0}fl {else}fr{/if}">{$t.title}
  • {/loop} {/loop}


    应用提示

    以上示例代码为我遇到的一些场景,都已经过测试,可以应用的场景实际很多。实际在应用中根据你的前端样式和要循环的内容,比葫芦画瓢就行。


    免责声明:1.凡本站注明“来源:XXX(非天荣模板网)”的作品,均转载自其它媒体,所载的文章、图片、音频视频文件等资料的版权归版权所有人所有,如有侵权,请联系tianrongcms#foxmail.com处理;2.凡本站转载内容仅代表作者本人观点,与天荣模板网无关。凡本站转载内容仅代表作者本人观点,与本站无关。

    凡本站转载内容仅代表作者本人观点,与本站无关。

    相关文档

    0 条评论

    网友留言

    免责声明:1.凡本站注明"来源:XXX(非本站)"的作品,均转载自其它媒体,所载的文章、图片、音频视频文件等资料的版权归版权所有人所有,如有来源标注错误或侵犯了您的合法权益,请联系本站处理;2.本站部分内容转载自老K模板网(www.laokcms.com),转载内容仅代表作者本人观点,与本站无关。