迅睿cms模板循环标签每隔几行几个更换或指定输出特定样式
制作前端模板时,有时在调用循环标签时,需要每隔几条内容,更换或指定输出特定样式。比如列表页循环每逢第三个更换样式;比如循环中实现每隔5条记录加一个隔行符号;比如实现隔行更换样式;比如Table中每三篇文章输出一个特定字段;等等此类问题,都可以使用以下原理来实现:
参考示例一
问题思路
比如在循环中实现每隔5条记录,加一个隔行符号。那么我们可以用循环次数变量除于5,如果被整除,表示可以输出隔行符号了
实现代码
{php $hang = 1;} //初始化行变量
{循环标签开始********}
***********
{if $hang%5 == 0}
表示第5行了,可以在这里加上隔行符号<hr>
{/if}
*******
{php $hang++;} //累计行变量写在结束标签上一行
{循环标签结束********}
参考示例二
问题思路
比如在前端是table表格,循环中,需要5个一行。那么我们可以使用php自带的函数array_chunk将结果数组按N个进行拆分为子数组,就可以很方便的循环出来了。
实现代码
<table>
//通过module标签 或 其他循环标签 先查询出结果集
{module module=news order=updatetime}{/module}
//通过php自带的函数按每行5个进行拆分
{php $arr=array_chunk($return, 5, true);}
//再通过循环变量拆分后的数据进行输出
{loop $arr $i $a}
<tr>
{loop $a $ii $t}
<td><a href="{$t.url}" >{$t.title}</a></td>
{/loop}
</tr>
{/loop}
</table>
参考示例三
问题思路
<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}
<li>
{loop $a $ii $t}
<div class=" {if $ii%2==0}fl {else}fr{/if}">{$t.title}</div>
{/loop}
</li>
{/loop}
应用提示
以上示例代码为我遇到的一些场景,都已经过测试,可以应用的场景实际很多。实际在应用中根据你的前端样式和要循环的内容,比葫芦画瓢就行。
相关文档
- pbootcms、dedecms等模板标签正则替换为迅睿cms标...
- 迅睿cms模板如何自定义分页css样式
- 迅睿cms首页及各页面实现ajax瀑布流滚动加载
- 迅睿cms搜索参数单选/多选/下拉字段条件筛选写法
- 迅睿cms模板循环标签每隔几行几个更换或指定输出特定样式
- 迅睿cms会员登录/注册/退出登录后跳转到指定链接或返回当前页面
- 迅睿cms网站任意页面前端调用全局模块表单提交及自定义样式方法
- 为下载的迅睿cms模板前端增加友情链接版块
- 迅睿cms二次开发系统目录结构说明
- 迅睿cms制作模板演示页(给内容创建多个模板和地址)
- 迅睿cms网站后台控制台面板如何添加自定义数据?
- 迅睿cms调用字段敏感信息首尾截取中间隐藏用星号代替
- 迅睿cms使用全局表单制作证书查询功能
- 迅睿cms模块表单制作在线预约报名付款(支持游客免登录支付)
- 迅睿cms读取zip压缩包文件目录结构配合jsTree展示文件树...
- 用jQuery替换文章编辑器里的图片样式及alt标签 实现自定义...
- 迅睿cms站群系统实现全国城市分站功能插件及调用标签
- 迅睿cms文章标题生成图片插件:亿级文章配图器不占用空间
- 迅睿cms使用API接口实现主站统一管理多站点群友情链接
- 安装迅睿cms网站程序的服务器环境要求