zblog获取分类以及上级分类的代码
今天有主题使用的小伙伴来问在z-blog中通过分类获取上级分类的方法,以防以后再重复回答这个问题,就写个教程吧,有需要的可以拿走。
查看zblog中获取上级分类的代码

这部份内容,如果不是开发者可以直接跳过,这里只是说明一下在zblog中默认获取当前分类的上级分类的代码。
打开文件 zb_system/function/lib/category.php 142行左右
if ($name == 'Parent')
{
if ($this->ParentID == 0) { return; }
else { return $zbp->categories[$this->ParentID]; }}上面的含义
1、调用分类数据时,会有一个Parent对象来输出当前类的上级分类
2、如果有上级分类就会通过 Parent 对象来输出上级分类的数据
3、如果没有上级分类,则返回空
z-blog模版中调用分类及上级分类的代码

当前分类代码:
分类模版中调用当前分类时,直接输出数据即可。
{$category.Url} 当前分类的URL
{$category.Name} 当前分类的名称判断是否有上级分类,并输出
{if $category.Parent}
{$category.Parent.Url}
{$category.Parent.Name}
{/if}注意:以上代码只能用到主题分类模版中,在z-blog后台编译模版后,在会缓存文件中自动生成普通的php代码。
z-blog获取分类的代码

1、z-blog通过分类ID获取分类数据的代码
<?php
$id = '1';
$cate = $zbp->GetCategoryByID($id);echo $cate->Url; //分类的URL
echo $cate->Name; //分类的名称//判断是否有上级分类
if($cate->Parent){
echo $cate->Parent->Url; //上级分类的URL
echo $cate->Parent->Name; //上级分类的名称}?>2、z-blog通过分类的名称获取分类数据的方法

3、zblog通过分类别名获取分类数据的代码
<?php$name = 'biji';$cate = $zbp->GetCategoryByAlias($name);//代码省略,参考上面的示例?>
4、以类的形式获取分类的数据
$id = 1; //这是分类的ID
$cate = new Category();
$cate->LoadInfoByID($id);if($cate->ID)
{ echo $cate->Url; //分类的URL
echo $cate->Name; //分类的名称
//判断是否用上级分类 if($cate->Parent){
echo $cate->Parent->Url; //上级分类的URL
echo $cate->Parent->Name; //上级分类的名称
}}else{ echo '分类数据不存在';}注意:
1、以上示例中的代码,可以用到主题或插件的后台逻辑中去,不能用到主题模版文件中,如果使用需要改成模版的语法。
2、如果在某个函数中调用以上的代码,必需声明全局变量,$zbp
3、无论是通过ID,名称,别名获取分类的数据,必需判断返回的结果是否为空。
4、具体的可以参考以下代码
例:z-blog判断指定的分类是否存在

函数
function IsCate($id){ //博客 //声明全局变量 $zbp; global $zbp;
$cate = $zbp->GetCategoryByID($id); //判断分类是否存在 //如果存在, $cate->ID 为分类的ID //如果不存在,$cate->ID 为0 if($cate->ID){ return 存在; } return 不存在;}调用方法:
判断ID为4的分类是否存在
echo IsCate(4);
上一篇