欢迎访问宙启技术站
智能推送

DEDECMS中怎么获取无限栏目子分类

发布时间:2023-05-15 00:45:54

DEDECMS是一款优秀的开源CMS系统,它不仅提供了丰富的模板标签,还可以通过后台管理系统进行各种配置和管理。在DEDECMS中,获取无限栏目子分类是非常方便的。下面我们就来详细介绍一下DEDECMS如何获取无限栏目子分类。

一、使用标签获取无限栏目子分类

在DEDECMS中,可以使用标签来获取无限栏目子分类。具体步骤如下:

1、在模板文件中添加如下标签:

其中,typeid表示文章分类的ID,row表示每页显示文章的数量,channelson表示是否显示栏目子分类。

2、根据需要解析数据:

通过以上标签即可获取对应栏目下的所有子分类。

二、使用PHP代码获取无限栏目子分类

除了使用标签,还可以通过PHP代码获取无限栏目子分类。具体步骤如下:

1、获取当前栏目的信息:

$cateid = $typeid;

$cateinfo = $dsql->GetOne("SELECT * FROM #@__arctype WHERE id='$cateid' ");

其中,$catedi表示当前栏目的ID,$cateinfo表示当前栏目的详细信息。

2、获取当前栏目的子分类:

$typelist =array();

$limit = '';$flag = '';

if($cateinfo['reid']==0) $limit = " limit 0,1 ";

$sql = "SELECT id FROM #@__arctype WHERE reid='".$cateinfo['id']."' ".$limit;

$dsql->Execute('temp',$sql);

while($row=$dsql->GetArray("temp"))

{

$typelist[$row['id']] =$row['id'];

subartlist($row['id']);

}

其中,$typelist表示子分类ID的集合。

3、获取子分类的子分类:

function subartlist($cid)

{

$cate = '';

global $dsql,$typelist,$flag;

if(isset($cate) || empty($cate))

$flag.=",".$cid;

$sql="SELECT id,typename FROM #@__arctype WHERE reid='$cid' ";

$dsql->SetQuery($sql);

$dsql->Execute();

$space = str_repeat(" ", 4);

while($row = $dsql->GetArray())

{

if(!isset($typelist[$row['id']]) || empty($typelist[$row['id']]))

{

$sub = str_replace($space,"",$sub);

$typelist[$row['id']]= $row['id'];

$sub.= "<div class=\"divt2".$row['id']."\">";

$sub.= $space."<a href=\"#\">".$row['typename']."</a>";

$sub.= subartlist($row['id']);

$sub.= "</div>";

}

}

return $sub;

}

以上就是使用PHP代码获取无限栏目子分类的详细步骤。

总结:

无论是使用标签还是PHP代码获取无限栏目子分类,在DEDECMS中都非常方便。如果您在使用DEDECMS时有相关需求,不妨尝试一下以上方法,相信会给您带来帮助。