在上次分享的PHPCMS V9 文章列表循环样式自定义方法后,有朋友再问起,如果怎么做自定义调用栏目循环列表,设置好某个栏目或者几个栏目不显示。下面,CMSYOU在此与大家分享Phpcms V9栏目循环调用采用IF判断自定义不显示指定栏目这一详细方法。
首先,我们找出官方默认调用栏目列表循环的语句:在phpcms/content/header.html里边,具体代码为:
{loop subcat(0,0,0,$siteid) $r}
{php $num++}
<div class="w356 left display {if $num%2==0}marginleft10{/if}">
<div class="title left bold"><span class="right"><a href="{$r[url]}" class="bai">更多>></a></span>{$r[catname]}</div>
<ul class="clear left display">
{pc:content action="lists" catid="$r[catid]" num="5" order="id DESC" return="info"}
{loop $info $v}
<li>·<a href="{$v['url']}" target="_blank" title="{$v['title']}"{title_style($v[style])}>{str_cut($v['title'],100)}</a></li>
{/loop}
{/pc}
</ul>
</div>
{/loop}
那么我们基于这段代码,采用IF判断,做到栏目循环调用自定义不显示指定栏目。
具体原理很简单:IF判断如果ID是指定值,那么就跳过,如果不是指定值那么继续。这样就可以避开指定的ID,让指定的ID不出现在调用栏目列表中。
具体自定义方法为:
在代码开始部分,
{loop subcat(0,0,0,$siteid) $r}
{php $num++}
设置一个IF语句进行过滤:
{php if($r['catid']==1 || $r['catid']==2 || $r['catid']==3) continue;}
类似这样,要别的栏目就把ID加到这里,格式如 $r['catid']==id数字。
代码解释:“&”代表“并且”,“||”两竖线表示“或者”的意思。
如果要设置某些栏目不出现,代码写成:
{php if($r['catid']==20) break;}
这样的话,栏目ID为20的不会显示在栏目列表调用中了。
其实在后台管理的内容 > 内容相关设置 > 管理栏目 >里边,有一个设置可以设置隐藏栏目:
不过,利用IF语句,可以做到更丰富的设置,比如:在ID为5的栏目,菜单里边隐藏ID为6的栏目,而在ID为6的栏目不显示ID5的栏目,大家不妨试试看。
Enjoy it! 欢迎大家收听CMSYOU官方微博,相互探讨Phpcms!
点击加载更多