PbootCMS 常用if条件判断语句
一、导航相关判断
1. 非首页导航高亮
用于标识当前所在栏目,在非首页页面中使对应导航项高亮显示。
{pboot:nav}
<a href="[nav:link]" {pboot:if('[nav:scode]'=='{sort:tcode}')}class="active"{/pboot:if}>
[nav:name]
</a>
{/pboot:nav}2. 子菜单存在性判断
根据是否有子菜单动态生成导航结构,常用于下拉菜单或移动端折叠菜单。
例 1:显示二级菜单
{pboot:nav}
<li>
<a href="[nav:link]">[nav:name]</a>
{pboot:if([nav:soncount]>0)} <!-- 判断是否有子菜单 -->
<div class="submenu">
{pboot:2nav parent=[nav:scode]} <!-- 循环二级菜单 -->
<a href="[2nav:link]">[2nav:name]</a>
{/pboot:2nav}
</div>
{/pboot:if}
</li>
{/pboot:nav}例 2:移动端菜单链接处理
{pboot:nav}
<li>
<a
{pboot:if([nav:soncount]>0)}
href="javascript:;" <!-- 有子菜单时使用空链接(点击展开子菜单) -->
{else}
href="[nav:link]" <!-- 无子菜单时使用正常链接 -->
{/pboot:if}
>[nav:name]</a>
</li>
{/pboot:nav}3. 内页子菜单高亮
在内容页或子栏目页中,高亮当前栏目对应的子导航项。
{pboot:nav parent={sort:tcode}} <!-- 调用当前栏目的同级子菜单 -->
<li {pboot:if('[nav:scode]'=='{sort:scode}')}class="active"{/pboot:if}>
<a href="[nav:link]">[nav:name]</a>
</li>
{/pboot:nav}4. 导航起始位置控制
从指定序号开始显示导航项,常用于过滤前几个固定菜单。
{pboot:nav}
{pboot:if('[nav:i]'>'2')} <!-- 只显示第3个及以后的导航项 -->
<li><a href="[nav:link]">[nav:name]</a></li>
{/pboot:if}
{/pboot:nav}5. 隐藏指定栏目
通过栏目编码(scode)隐藏不需要显示的导航项。
{pboot:nav}
<li {pboot:if([nav:scode]==2||[nav:scode]==4||[nav:scode]==6)}style="display: none;"{/pboot:if}>
<a href="[nav:link]">[nav:name]</a>
</li>
{/pboot:nav}6. 导航栏 Logo 居中
在导航循环的指定位置插入 Logo,实现居中效果。
{pboot:nav}
<a href="[nav:link]">[nav:name]</a>
{pboot:if([nav:i]==3)} <!-- 在第3个导航项后插入Logo -->
<img src="{pboot:sitelogo}" class="logo">
{/pboot:if}
{/pboot:nav}二、内容与列表判断
4. 空值判断(标签内容控制)
当标签值为空时不显示该内容,避免页面出现空标签或无效信息。
{pboot:if('{pboot:companyqq}'!='')} <!-- 仅当企业QQ有值时显示 -->
<div class="contact">QQ:{pboot:companyqq}</div>
{/pboot:if}5. 列表内容存在性判断
根据列表是否有内容,显示分页或提示信息。
{pboot: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>
{/pboot:if}6. 分页按钮状态控制
优化分页体验,在第一页隐藏 "首页"" 上一页 ",在最后一页隐藏" 下一页 ""尾页"。
{pboot:if({page:rows}>0)}
<div class="page">
<!-- 第一页隐藏首页和上一页 -->
<a href="{page:index}" {pboot:2if('{page:current}'==1)}class="hide"{/pboot:2if}>首页</a>
<a href="{page:pre}" {pboot:2if('{page:current}'==1)}class="hide"{/pboot:2if}>上一页</a>
{page:numbar}
<!-- 最后一页隐藏下一页和尾页 -->
<a href="{page:next}" {pboot:2if('{page:current}'=='{page:count}')}class="hide"{/pboot:2if}>下一页</a>
<a href="{page:last}" {pboot:2if('{page:current}'=='{page:count}')}class="hide"{/pboot:2if}>尾页</a>
</div>
{else}
<div class="page">暂无内容</div>
{/pboot:if}7. 第一个循环项样式控制
为循环中的第一个元素添加特殊样式(如轮播图默认显示项、Tab 选项卡默认选中项)。
导航第一个项高亮
{pboot:nav}
<a href="[nav:link]" {pboot:if('[nav:i]'=='1')}class="active"{/a>
{/pboot:nav}列表第一篇文章高亮
{pboot:list}
<a href="[list:link]" {pboot:if('[list:i]'=='1')}class="active"{/pboot:if}>[list:title]</a>
{/pboot:list}轮播图第一张图激活
{pboot:slide gid=* num=*}
<img src="[slide:src]" {pboot:if('[slide:i]'=='1')}class="active"{/pboot:if}>
{/pboot:slide}8. 内容页图片显示判断
根据内容是否有多图,自动切换显示多图列表或单张缩略图。
{pboot:if({content:ispics}==1)} <!-- 有多个图片时 -->
<ul class="pics-list">
{pboot:pics id={content:id} num=5} <!-- 循环多图 -->
<li><img src="[pics:src]" alt="图片描述"></li>
{/pboot:pics}
</ul>
{else} <!-- 只有单张缩略图时 -->
<img src="{content:ico}" class="single-pic" alt="{content:title}">
{/pboot:if}9. 当前文章高亮(推荐列表)
在右侧推荐文章列表中,高亮显示当前正在浏览的文章。
<ul class="recommend-list">
{pboot:list scode={sort:tcode} num=10 order='visits'} <!-- 调用同栏目推荐文章 -->
<li {pboot:if('[list:link]'=='{content:link}')}class="active"{/pboot:if}>
<a href="[list:link]">[list:title]</a>
</li>
{/pboot:list}
</ul>10. 奇偶数判断(隔行变色)
通过判断列表项序号的奇偶性,实现隔行变色效果,提升列表可读性。
<ul class="article-list">
{pboot:list num=10}
<li {pboot:if([list:i]%2==0)}class="bg-gray"{/pboot:if}> <!-- 偶数行添加灰色背景 -->
<a href="[list:link]">[list:title]</a>
</li>
{/pboot:list}
</ul>三、使用说明与注意事项
.active { color: #f00; font-weight: bold; } /* 高亮样式 */
.hide { display: none; } /* 隐藏样式 */
.bg-gray { background: #f5f5f5; } /* 隔行变色样式 */4.扩展技巧
通过灵活运用上述 if 条件判断语句,可大幅提升 PbootCMS 模板的动态性和用户体验,满足不同场景下的页面展示需求。实际开发中,可根据具体业务逻辑调整判断条件和样式效果。




