PHPCMS循环调用栏目时过滤某些栏目的实现办法

来自:互联网
时间:2018-07-17
阅读:

我们知道,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也有类似的代码,也可以通过上面的方法实现过滤栏目的效果。

返回顶部
顶部