当先锋百科网

首页 1 2 3 4 5 6 7

将以下代码加入分类页面的模板,浏览时就可以显示当前分类的子分类:

{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-> 就可以了。