LOYCMS 常用 if 判断
1. 导航高亮
> {Loy:if('[nav:scode]'=='{sort:tcode}')}class="active"{/Loy:if} //用于非首页
例:
{Loy:nav} <li {Loy:if('[nav:scode]'=='{sort:tcode}')}class="active"{/Loy:if}><a href="[nav:link]">[nav:name]</a></li> {/Loy:nav}
> {Loy:if(0=='{sort:scode}')}class="active"{/Loy:if} //用于首页
例:
<li {Loy:if(0=='{sort:scode}')}class="active"{/Loy:if}><a href="/">首页</a></li>
2. 判断有无子菜单
> {Loy:if([nav:soncount]>0)}...{/Loy:if}
例 1:
{Loy:nav} <li><a href="[nav:link]">[nav:name]</a> <!--一级菜单循环-->{Loy:if([nav:soncount]>0)} <!--当有子菜单时显示div--><div>{Loy:2nav parent=[nav:scode]}<a href="[2nav:link]">[2nav:name]</a> <!--二级菜单循环-->{/Loy:2nav}</div>{/Loy:if}</li>{/Loy:nav}
例 2:
{Loy:nav} <li><a {Loy:if([nav:soncount]>0)} href="javascript:;" {else} href="[nav:link]" {/Loy:if}>[nav:name]</a></li> <!--无子菜单时显示正常链接,有子菜单时为空连接,用于手机端点击菜单滑出子菜单情况。-->{/Loy:nav}
#
3. 内页子菜单高亮
> {Loy:if('[nav:scode]'=='{sort:scode}')}class="active"{/Loy:if}
例:
{Loy:nav parent={sort:tcode}} <li {Loy:if('[nav:scode]'=='{sort:scode}')}class="active"{/Loy:if}><a href="[nav:link]">[nav:name]</a></li> {/Loy:nav}
4. 判断标签为空时不显示
{Loy:if('{Loy:companyqq}'!='')}QQ:{Loy:companyqq}{/Loy:if} <!--同理也可用在文章详情页-->
5. 判断列表页有无内容,无内容返回提示
> {Loy:if({page:rows}>0)}{page:bar}{else}暂无内容{/Loy:if}
例:
{Loy:if({page:rows}>0)}<div class="page"> <a href="{page:index}">首页</a><a href="{page:pre}">上一页</a>{page:numbar}<a href="{page:next}">下一页</a><a href="{page:last}">尾页</a></div>{else}<div class="page">暂无内容</div>{/Loy:if}
6. 分页判断进阶,在第一页时隐藏首页和上一页按钮,在最后一页时隐藏下一页和尾页按钮。(效果参考本博客)
例:
{Loy:if({page:rows}>0)}<div class="page"><a href="{page:index}"{Loy:2if('{page:current}'==1)}class="hide"{/Loy:2if}>首页</a> <!--在第一页时,当前页码‘{page:current}’等于1,添加‘hide’样式,.hide{dispaly:none;}--><a href="{page:pre}"{Loy:2if('{page:current}'==1)}class="hide"{/Loy:2if}>上一页</a> <!--与上条同理-->{page:numbar}<a href="{page:next}"{Loy:2if('{page:current}'=='{page:count}')}class="hide"{/Loy:2if}>下一页</a> <!--在最后一页时,当前页码‘{page:current}’等于总页数‘{page:count},’添加‘hide’样式,.hide{dispaly:none;}--><a href="{page:last}"{Loy:2if('{page:current}'=='{page:count}')}class="hide"{/Loy:2if}>尾页</a><!--与上条同理--></div>{else}<div class="page">暂无内容</div>{/Loy:if}
7.判断第一个循环项,并添加 class(常用于 banner 和 Tab 选项卡)
> {Loy:if('[xx:i]'=='1')}class="active"{/Loy:if}
例:
<!--第一个菜单添加 class="active"-->{Loy:nav}<a href="[nav:link]" {Loy:if('[nav:i]'=='1')}class="active"{/Loy:if}>[nav:name]</a>{/Loy:nav}<!--第一条文章添加 class="active"-->{Loy:list}<a href= "[list:link]" {Loy:if('[list:i]'=='1')}class="active"{/Loy:if}>[list:title]</a>{/Loy:list}<!--第一个轮播图添加 class="active"-->{Loy:slide gid=* num=*}<img src="[slide:src]" {Loy:if('[slide:i]'=='1')}class="active"{/Loy:if}>{/Loy:slide}<!--以上具体 [xx:i] 用法请参考官方手册,也可以用 jq 的选择器 + addclass-->
8.内容页判断有无多图,无多图显示缩略图
> {Loy:if({content:ispics}==1)}..多图..{else}..缩略图..{/Loy:if}
例:
{Loy:if({content:ispics}==1)}<ul>{Loy:pics id={content:id} num=5}<li><img src="[pics:src]" /></li> <!--多图循环-->{/Loy:pics}</ul>{else}<img src="{content:ico}" /> <!--缩略图-->{/Loy:if}
9.内容页判断列表中的当前文章高亮(右侧推荐文章中的其中一条,正好是当前打开的文章时)
> {Loy:if('[list:link]'=='{content:link}')}class="active"{/Loy:if} //判断列表内链接等于本文链接
例:
<ul> {Loy:list scode={sort:tcode} num=10 order='visits'} <li {Loy:if('[list:link]'=='{content:link}')}class="active"{/Loy:if}><a href="[list:link]">[list:title]</a></li> {/Loy:list} </ul>
10.奇偶数判断(隔行变色)
> {Loy:if([list:i]%2==0)}...{/Loy:if}
例:
<ul>{Loy:list num=10}<li {Loy:if([list:i]%2==0)}class="bg-dark"{/Loy:if}><a href="[list:link]">[list:title]</a></li> <!--等于0为偶数,等于1为奇数 .bg-dark{background:#000;}-->{/Loy:list}</ul>
11.判断导航从第几个开始
> {Loy:if('[nav:i]'>'2')}……{/Loy:if} //从第二个开始
例:
{Loy:nav} {Loy:if('[nav:i]'>'2')} <li><a href="[nav:link]">[nav:name]</a></li> {/Loy:if} {/Loy:nav}
12.隐藏指定 scode 的菜单
> {Loy:if([nav:scode]==2||[nav:scode]==4||[nav:scode]==6)}style="display: none;"{/Loy:if} //隐藏 scode 为 2,4,6 的菜单
例:
{Loy:nav} <li {Loy:if([nav:scode]==2||[nav:scode]==4||[nav:scode]==6)}style="display: none;"{/Loy:if}><a href="[nav:link]">[nav:name]</a></li>{/Loy:nav}