pbootcms if条件语句

     if条件语句  

    标签作用:用于根据条件输出不同内容

     1、IF语句格式  

    {pboot:if('a'=='b')}内容1{else}内容2{/pboot:if}

    使用提示:

    对于非数字类的条件均为字符串类型,请加上引号,如: 

     {pboot:if('[list:author]'=='admin')}  ,但是数字类的可以不加:  {pboot:if([list:i]==1)}

    如果条件有多个,可以按照PHP的语法进行运算,如下:

    条件并列:  {pboot:if('[list:author]'=='admin' && [list:i]==1)}

    条件或:  {pboot:if('[list:author]'=='admin' || [list:i]==1)}

    条件求余:  {pboot:if([list:i]%2==0)}  ,等于0偶数,等于1奇数

    2、IF语句嵌套  

    {pboot:if('a'=='b')}{pboot:2if('a'=='c')}内容1{2else}内容2{/pboot:2if}{else}内容3{/pboot:if}

    嵌套层级理论上不受限制,按此方式用数字依次嵌套即可。

    3、常用IF条件语句  

    建站常用IF条件语句: 

    1、导航高亮  

    {pboot:if('[nav:scode]'=='{sort:tcode}')}class="active"{/pboot:if} //用于非首页

    例:

    {pboot:nav}
    <li {pboot:if('[nav:scode]'=='{sort:tcode}')}class="active" {/pboot:if}>
    <a href="[nav:link]">[nav:name]</a>
    </li>
    {/pboot:nav}

     2、判断有无子菜单  

    {pboot:if([nav:soncount]>0)}...{/pboot:if}

    例 1:

    {pboot:nav}
    <li>
    <a href="[nav:link]">[nav:name]</a>
    <!--一级菜单循环-->
    {pboot:if([nav:soncount]>0)}
    <!--当有子菜单时显示div-->
    <div>
    {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:if('[nav:scode]'=='{sort:scode}')}class="active"{/pboot:if}

    例:

    {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:if('{pboot:companyqq}'!='')}QQ:{pboot:companyqq}{/pboot:if}
    <!--同理也可用在文章详情页-->

     5、判断列表页有无内容,无内容返回提示  

    {pboot:if({page:rows}>0)}{page:bar}{else}暂无内容{/pboot:if}

    例:

    {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>   <!--在第一页时,当前页码'{page:current}'等于1,添加'hide'样式,.hide{dispaly:none;}-->   <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>   <!--在最后一页时,当前页码'{page:current}'等于总页数'{page:count},'添加'hide'样式,.hide{dispaly:none;}-->   <a href="{page:last}" {pboot:2if('{page:current}'=='{page:count}' )}class="hide" {/pboot:2if}>尾页</a>   <!--与上条同理--> </div> {else}     <div class="page">暂无内容</div> {/pboot:if}

     7、判断第一个循环项,并添加 class(常用于 banner 和 Tab 选项卡)  

    {pboot:if('[xx:i]'=='1')}class="active"{/pboot:if}

    第一个菜单添加

    <!--第一个菜单添加--> {pboot:nav}     <a href="[nav:link]" {pboot:if('[nav:i]'=='1' )}class="active" {/pboot:if}>[nav:name]</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}

    以上具体 [xx:i]   用法请参考官方手册,也可以用 jq 的选择器 + addclass

     8、内容页判断有无多图,无多图显示缩略图  

    {pboot:if({content:ispics}==1)}..多图..{else}..缩略图..{/pboot:if}

    例:

    {pboot:if({content:ispics}==1)} <ul>  {pboot:pics id={content:id} num=5}     <li><img src="[pics:src]" /></li>     <!--多图循环-->  {/pboot:pics} </ul> {else}     <img src="{content:ico}" />     <!--缩略图--> {/pboot:if}

     9、内容页判断列表中的当前文章高亮(右侧推荐文章中的其中一条,正好是当前打开的文章时)  

    {pboot:if('[list:link]'=='{content:link}')}class="active"{/pboot:if} //判断列表内链接等于本文链接

    例:

    <ul>     {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、奇偶数判断(隔行变色)  

    {pboot:if([list:i]%2==0)}...{/pboot:if}

    例:

    <ul>    {pboot:list num=10}        <li {pboot:if([list:i]%2==0)}class="bg-dark" {/pboot:if}>            <a href="[list:link]">[list:title]</a>        </li>        <!--等于0为偶数,等于1为奇数  .bg-dark{background:#000;}-->    {/pboot:list} </ul>

     11、判断导航从第几个开始  

    {pboot:if('[nav:i]'>'2')}……{/pboot:if} //从第二个开始

    例:

    {pboot:nav} {pboot:if('[nav:i]'>'2')}     <li>         <a href="[nav:link]">[nav:name]</a>     </li> {/pboot:if} {/pboot:nav}

     12、隐藏指定 scode 的菜单  

    {pboot:if([nav:scode]==2||[nav:scode]==4||[nav:scode]==6)}style="display: none;"{/pboot:if} //隐藏 scode 为 2,4,6 的菜单id
    注意:这里的菜单id是指栏目编码,有些同学第一眼看成是菜单数量,不是菜单的数量不要错啦

    例:

    {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}

     13、pbootcms导航栏logo居中判断  

    例:

    {pboot:nav}     <a href="[nav:link]">[nav:name]</a> {pboot:if([nav:i]==3)}     <img src="{pboot:sitelogo}"> {/pboot:if} {/pboot:nav}

    上面的的  [nav:i]=3  意思就是当输出到第三个导航栏的时候,在输出logo样式

     14、内页头部栏目封面图①(调用顶级栏目的封面和标题)  

    {pboot:sort scode={sort:tcode}}     <img src="[sort:pic]" alt="[sort:name]"> {/pboot:sort}

     15、内页头部栏目封面图②(如果当前栏目有封面图就调用当前的,否则调用顶级栏目的封面)  

    例:

    {pboot:sort scode={sort:tcode}} {pboot:if('{sort:pic}'!='')}     <img src="{sort:pic}" alt="{sort:name}"> {else}     <img src="[sort:pic]" alt="[sort:name]"> {/pboot:if} {/pboot:sort}

     16、判断有无子栏目  

    例:

    {pboot:if('{pboot:nav parent={sort:scode}}[nav:name]{/pboot:nav}'!='')}     <!--当前栏目有子菜单时输出当前栏目的子菜单。-->     {pboot:nav parent={sort:scode}}     <li {pboot:2if('[nav:scode]'=='{sort:scode}')}class="active"{/pboot:2if}>         <a href='[nav:link]'>[nav:name]</a>     </li>     {/pboot:nav} {else}     <!--当前栏目无子菜单时输出当前栏目的同级菜单。-->     {pboot:nav parent={sort:pcode}}     <li {pboot:2if('[nav:scode]'=='{sort:scode}')}class="active"{/pboot:2if}>         <a href='[nav:link]'>[nav:name]</a>     </li>     {/pboot:nav} {/pboot:if}