PbootCMS 常用if條件判斷語句
一、導(dǎo)航相關(guān)判斷
1. 非首頁導(dǎo)航高亮
用于標(biāo)識當(dāng)前所在欄目,在非首頁頁面中使對應(yīng)導(dǎo)航項高亮顯示。
{pboot:nav} <a href="[nav:link]" {pboot:if('[nav:scode]'=='{sort:tcode}')}class="active"{/pboot:if}> [nav:name] </a> {/pboot:nav}
2. 子菜單存在性判斷
根據(jù)是否有子菜單動態(tài)生成導(dǎo)航結(jié)構(gòu),常用于下拉菜單或移動端折疊菜單。
例 1:顯示二級菜單
{pboot:nav} <li> <a href="[nav:link]">[nav:name]</a> {pboot:if([nav:soncount]>0)} <!-- 判斷是否有子菜單 --> <div class="submenu"> {pboot:2nav parent=[nav:scode]} <!-- 循環(huán)二級菜單 --> <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. 內(nèi)頁子菜單高亮
在內(nèi)容頁或子欄目頁中,高亮當(dāng)前欄目對應(yīng)的子導(dǎo)航項。
{pboot:nav parent={sort:tcode}} <!-- 調(diào)用當(dāng)前欄目的同級子菜單 --> <li {pboot:if('[nav:scode]'=='{sort:scode}')}class="active"{/pboot:if}> <a href="[nav:link]">[nav:name]</a> </li> {/pboot:nav}
4. 導(dǎo)航起始位置控制
從指定序號開始顯示導(dǎo)航項,常用于過濾前幾個固定菜單。
{pboot:nav} {pboot:if('[nav:i]'>'2')} <!-- 只顯示第3個及以后的導(dǎo)航項 --> <li><a href="[nav:link]">[nav:name]</a></li> {/pboot:if} {/pboot:nav}
5. 隱藏指定欄目
通過欄目編碼(scode)隱藏不需要顯示的導(dǎo)航項。
{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. 導(dǎo)航欄 Logo 居中
在導(dǎo)航循環(huán)的指定位置插入 Logo,實現(xiàn)居中效果。
{pboot:nav} <a href="[nav:link]">[nav:name]</a> {pboot:if([nav:i]==3)} <!-- 在第3個導(dǎo)航項后插入Logo --> <img src="{pboot:sitelogo}" class="logo"> {/pboot:if} {/pboot:nav}
二、內(nèi)容與列表判斷
4. 空值判斷(標(biāo)簽內(nèi)容控制)
當(dāng)標(biāo)簽值為空時不顯示該內(nèi)容,避免頁面出現(xiàn)空標(biāo)簽或無效信息。
{pboot:if('{pboot:companyqq}'!='')} <!-- 僅當(dāng)企業(yè)QQ有值時顯示 --> <div class="contact">QQ:{pboot:companyqq}</div> {/pboot:if}
5. 列表內(nèi)容存在性判斷
根據(jù)列表是否有內(nèi)容,顯示分頁或提示信息。
{pboot:if({page:rows}>0)} <!-- 判斷列表有內(nèi)容 --> <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} <!-- 列表無內(nèi)容時顯示提示 --> <div class="page">暫無內(nèi)容</div> {/pboot:if}
6. 分頁按鈕狀態(tài)控制
優(yōu)化分頁體驗,在第一頁隱藏 "首頁"" 上一頁 ",在最后一頁隱藏" 下一頁 ""尾頁"。
{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">暫無內(nèi)容</div> {/pboot:if}
7. 第一個循環(huán)項樣式控制
為循環(huán)中的第一個元素添加特殊樣式(如輪播圖默認顯示項、Tab 選項卡默認選中項)。
導(dǎo)航第一個項高亮
{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. 內(nèi)容頁圖片顯示判斷
根據(jù)內(nèi)容是否有多圖,自動切換顯示多圖列表或單張縮略圖。
{pboot:if({content:ispics}==1)} <!-- 有多個圖片時 --> <ul class="pics-list"> {pboot:pics id={content:id} num=5} <!-- 循環(huán)多圖 --> <li><img src="[pics:src]" alt="圖片描述"></li> {/pboot:pics} </ul> {else} <!-- 只有單張縮略圖時 --> <img src="{content:ico}" class="single-pic" alt="{content:title}"> {/pboot:if}
9. 當(dāng)前文章高亮(推薦列表)
在右側(cè)推薦文章列表中,高亮顯示當(dāng)前正在瀏覽的文章。
<ul class="recommend-list"> {pboot:list scode={sort:tcode} num=10 order='visits'} <!-- 調(diào)用同欄目推薦文章 --> <li {pboot:if('[list:link]'=='{content:link}')}class="active"{/pboot:if}> <a href="[list:link]">[list:title]</a> </li> {/pboot:list} </ul>
10. 奇偶數(shù)判斷(隔行變色)
通過判斷列表項序號的奇偶性,實現(xiàn)隔行變色效果,提升列表可讀性。
<ul class="article-list"> {pboot:list num=10} <li {pboot:if([list:i]%2==0)}class="bg-gray"{/pboot:if}> <!-- 偶數(shù)行添加灰色背景 --> <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 模板的動態(tài)性和用戶體驗,滿足不同場景下的頁面展示需求。實際開發(fā)中,可根據(jù)具體業(yè)務(wù)邏輯調(diào)整判斷條件和樣式效果。