判断常用
ADMIN / 2018-05-22 / / kelvinvt.com / Print / Attention / Share:if循环的使用帮助
**if的作用:**if循环在模板制作过程中,有无比强大的效用,在很多模板页都会使用,活学活用if标签,能让页面更个性,更专业。
if循环可用于任何模板页,但不建议多用,if循环会增加服务端压力,影响页面打开速度,如果语法不严谨甚至可能导致进程池崩溃。
以下介绍中
a,b,c代表数字,例如可以是[ content:i ],[ list:id ],{ cms:sid }等数字字段
aaa,bbb代表字符串,例如是[ content:title ][ about:desc ]等文本字段
基本用法
{ if:a=b } { elseif:a=c } { else } { end if }
常用数字对比。
{ if:a=b } 相同结果 { else } 不相同结果 { end if }
常用文本对比,字段要加双引号!
{ if:"aaa"="bbb" } 相同结果 { else } 不相同结果 { end if }
常用文本包含,ifstrin意思是前面的文本里是否有后面字段,注意要加双引号!
{ if:ifstrin("aaabbb","bbb") } 包含结果 { else } 不包含结果 { end if }
奇偶数,求余数mod,4个为一行
{ if:[ content:i ] mod 4=0 } 结果 { else } 结果 { end if }
具体应用:
判断是否会有登录,显示不同结果。
{ if:{ cms:userid }>0 } 已登录结果 { else } 未登录结果 { end if }
判断是用户级别,会员级别在后台会员组处查看。
{ if:{ cms:usergid }>5 } 高级会员结果 { elseif:{ cms:usergid }>0 } 普通会员结果 { else } 未登录结果 { end if }
判断新闻发布时间,一般用于在新闻上加new标识。
{ if:datediff("d","[ content:date ]","{ cms:nowtime }")< 20 } 20天内结果 { else } 20天前结果 { end if }
新闻分3列显示,一般常用于首页(非常不建议使用,页面执行时间增加1秒)
此示例中循环中使用判断,等于判断了60次
{ cms:content type=news num=30 order=order } { if:[ content:i ] mod 10=1 }< li>{ end if } < a href="[ content:link ]">< img src="[ content:pic ]">< /a> { if:[ content:i ] mod 10= 0 }< /li>{ end if } { /cms:content }
嵌套判断(不建议多用标签判断,占用服务器资源较多,香港空间更要注意)
{ if:a=b } 相同结果... { if1:x=? }...{ else1 }...{ end if1 } { else } 不相同结果... { if1:y=? } { if2:z=? }...{ end if2 } { else1 } { end if1 } { end if }
- Categories: 标签使用