首先我们注意的一个问题是,作为循环,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