zblogphp中也可以与dedecms一样实现在父分类下显示子分类菜单,以及在子分类时显示同级子分类,在文章页面显示所在分类及其同级分类。

时常运用在zblogCMS模板制作中,今天也正好用到,所以分享下:

图片中可以清晰的看出来各种判断:

zblogPHP分类显示子分类以及子分类显示同级分类文章显示其所在分类和同级分类.png

具体的代码如下:

{php}

              global $zbp;

              $str='';

         if ($type=='category'){

           if ($category->ParentID>0) {

              $sidelistcategory=$zbp->GetCategoryByID($category->ParentID);

              $str.='<a href="'.$sidelistcategory->Url.'">'.$sidelistcategory->Name.'</a>';

              $where=array(array('=','cate_ParentID',$category->ParentID));

              $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null);

              foreach ($array as $cate){$str.='<a href="'.$cate->Url.'">'.$cate->Name.'</a>';}

              echo $str;

            }else{

              $str.='<a href="'.$category->Url.'">'.$category->Name.'</a>';

              $where=array(array('=','cate_ParentID',$category->ID));

              $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null);

              foreach ($array as $cate){$str.='<a href="'.$cate->Url.'">'.$cate->Name.'</a>';}

              echo $str;

            }

          }elseif ($type=='article'){

              $sidelistcategory=$zbp->GetCategoryByID($article->Category->ParentID);

              $str.='<a href="'.$sidelistcategory->Url.'">'.$sidelistcategory->Name.'e</a>';

              $where=array(array('=','cate_ParentID',$article->Category->ParentID));

              $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null);

              foreach ($array as $cate){if ($cate->ID==$article->Category->ID){$str.='<a href="'.$cate->Url.'">'.$cate->Name.'</a>';}else{$str.='<a href="'.$cate->Url.'">'.$cate->Name.'</a>';}}

              echo $str;

           }

              {/php}

此种分类适合一些zblog大型资讯、CMS、企业模板中使用,具体格式酌情修改即可,如果实在太懒就直接使用zblog程序内置的网站分类吧,小站点或者个人博客使用这个意义不大!