php 获取 所有上级 id,z-blog获取分类以及上级分类的代码

今天有主题使用的小伙伴来问在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通过分类的名称获取分类数据的方法

808d077aef91e0a59f57f36e1c3cd7e3.png<?php

$name = '笔记';

$cate = $zbp->GetCategoryByName($name);

//代码省略,参考上面的示例

?>

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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值