首先我们注意的一个问题是,作为循环,if判断的条件不能是“==”,因为是“==”的话当走到5之后就永远不会符合条件了,所以第五个后面的就不会被显示了,我们可以用求余作为条件式来作为循环条件,例如第二个:
{if $num%5==2} <a href="{$r[url]}"> <li style="background:#83d0c0;"> <div class="temai_icon11"> <p class="bom_c11"><img src="{thumb($r[thumb],110,0)}"/></p> </div> <div class="temai_font11"> <h1>{str_cut($r[title],20)}</h1> <h2>职业类型:{str_cut($r[type],20)}</h2> <h3>职业介绍:{str_cut($r[description],90)}</h3> </div> <div class="clear"></div> </li> </a>{/if}ok,以上是第一步,解决掉你的循环不能显示问题,那么咱们再来优化一下你的代码吧:
在phpcms的loop标签中,已经默认生成一个叫做$n的变量来给你计数每次循环的序号了,所以你大可不必再自己开启一个计数变量$num,直接调用$n就可以。
其实我们在每次循环只是想判断一下第几个来改一下背景颜色而已,那么没必要叠加那么多代码,所以整个循环我们可以写成这样:
{php $color=array(1=>'#fb7a65',2=>'#83d0c0',3=>'第三个颜色',4=>'第四个颜色',5=>'第五个颜色')}{pc:content action="lists" catid="$catid" num="10" order="id DESC" page="$page"} {loop $data $r} {php $index=$n%5;} <a href="{$r[url]}"> <li style="background:{$color[$index]};"> <div class="temai_icon11"> <p class="bom_c11"><img src="{thumb($r[thumb],110,0)}"/></p> </div> <div class="temai_font11"> <h1>{str_cut($r[title],20)}</h1> <h2>职业类型:{str_cut($r[type],20)}</h2> <h3>职业介绍:{str_cut($r[description],90)}</h3> </div> <div class="clear"></div> </li> </a> {/loop}<div id="pages">{$pages}</div>{/pc}PS:有兴趣可以分析下phpcms的标签解析类中的方法来更好的了解它的标签(phpcms/modules/content/class/content_tag.class.php),我在iphpcms中的标签教程中也有详细讲解可以参考。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
相关文章
PHPCMS 统计栏目下子栏目数量的代码2024-11-12
PHPCMS V9 上传图片或附件后后台退出需要重新登录的解决办法2021-06-19
PHPCMS 推荐位输出组图的方法2020-12-30
PHPCMS内容页自定义下拉菜单循环输出数值的方法2020-12-17
PHPCMS v9 search模块搜索栏目名称二次开发2020-02-20
PHPCMS删除文章后数据库中仍有删除文章中的关键词解决办法2019-11-13
PHPCMS中TAG模板、COMMENT模板等不能使用{SITEURL($SITEID)}函数2019-11-13
PHPCMS V9编辑器中新增上传mp4视频(上传视频并插入HTML5的video标签)的功能2019-10-30
PHPCMS一些漏洞修复及解决方案2019-07-10
PHPCMS的产品筛选功能(通用)2019-04-09