我们知道,PHPCMS的默认模板中,在首页有个栏目大循环,即显示所有栏目的最新内容,我们将其代码精简如下:
{loop subcat(0,0,0,$siteid) $r {php $num++ <h5 class="title-1">{$r[catname]}<a href="{$r[url]}" class="more">更多>></a></h5 {/loop}
这段代码可以显示网站中所有一级栏目的列表,包括链接地址,但这个循环是个连续不间断的,但有些时候,我们不希望某个或者某几个栏目出现在列表中,如何实现呢?
如果不希望某个栏目不出现的话,我们假定那个不希望被显示的栏目的catid为9,可以用下面的代码:
{loop subcat(0,0,0,$siteid) $r {php $num++}{php if($r['catid']==9) continue; <h5 class="title-1">{$r[catname]}<a href="{$r[url]}" class="more">更多>></a></h5 {/loop}
如果不希望某几个栏目不出现的话,我们假定那些不希望被显示的栏目的catid为9、12、15、23,可以用下面的代码:
{loop subcat(0,0,0,$siteid) $r {php $num++}{php if($r['catid']==9||$r['catid']==12||$r['catid']==15||$r['catid']==23) continue; <h5 class="title-1">{$r[catname]}<a href="{$r[url]}" class="more">更多>></a></h5 {/loop}
如果你想循环到某个栏目就终止循环,也就是整齐的显示前面一部分栏目列表,那么可以通过以下代码实现:
{loop subcat(0,0,0,$siteid) $r {php $num++}{php if($r['catid']==9) break; <h5 class="title-1">{$r[catname]}<a href="{$r[url]}" class="more">更多>></a></h5 {/loop}
catid在9之后的所有栏目就都不会显示了!
在category.html也有类似的代码,也可以通过上面的方法实现过滤栏目的效果。