将以下代码加入分类页面的模板,浏览时就可以显示当前分类的子分类:
{php} $str=''; $where=array(array('=','cate_ParentID',$category->ID)); $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null); foreach ($array as $cate){ $str.='<li><a href="'.$cate->Url.'">'.$cate->Name.'</a></li>'; } echo $str; {/php}
上面这段代码可以调用出来当前分类下的子分类,只有一个层级,就是一级分类显示下面的二级分类而不会显示三级分类,有的客户则需要显示出一级分类下面的所有分类。
通过以下方式可以实现:
{if $category.Level==0} {php} $str=''; $where=array(array('=','cate_RootID',$category->ID)); $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null); foreach ($array as $cate){ $str.='<li><a href="'.$cate->Url.'">'.$cate->Name.'</a></li>'; } echo $str; {/php} {else} {php} $str=''; $where=array(array('=','cate_RootID',$category->RootID)); $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null); foreach ($array as $cate){ $str.='<li><a href="'.$cate->Url.'">'.$cate->Name.'</a></li>'; } echo $str;{/php}{/if}
上面代码中的“{if $category.Level==0} ”来判断当前分类是否属于顶级分类,如果是顶级分类,则调用分类下的全部子分类,如果当前不是顶级分类,那么就调用当前分类的顶级分类下的全部分类,出来的结果就是不管在哪一个层级,调用的都是这个分类的顶级分类下的全部子分类。
以上内容转载自网络,但以上第二段代码存在一个问题,如果代码放在文章页模板中就会报错,这是因为zblog文章页和列表页部分变量带哦用方法是不一样的,所以,我们需要把$category.替换为$article.Category. 把$Category->替换为$article->Category-> 就可以了。