DEDECMS中获取无限栏目子分类的方法
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍DEDECMS中获取无限栏目子分类的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!DEDECMS中怎么获取无限栏目子分类?做企业网站大部分是使用DEDECM
千家信息网最后更新 2026年11月03日DEDECMS中获取无限栏目子分类的方法
这篇文章主要介绍DEDECMS中获取无限栏目子分类的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
DEDECMS中怎么获取无限栏目子分类?
做企业网站大部分是使用DEDECMS,今天在给客户设计网站时,把DEDE自动内链和URL全拼格式搞定后,又遇到了个小问题,因为产品分类最多有四级,客户要求在左侧有个弹出式菜单调用各级子分类出来,而DEDECMS默认只能调用一级分类。经过努力,百度+GOOGLE+自己脑袋,终于搞定了这个东西,不敢独享,发出来给有需要的朋友分享。
首先要把/include/taglib/channerl.lib.php 文件的代码修改成以下的:
代码如下:
CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); $innertext = $ctag->GetInnerText(); if(empty($typeid) && $envs['typeid']!=0) { $typeid = $envs['typeid']; $reid = $envs['reid']; }else{ $reid=0; } if($type=="||$type=='sun') $type="son"; if($innertext==") $innertext = GetSysTemplets("channel_list.htm"); if($reid==0 && $typeid>0) { $dbrow = $dsql->GetOne("Select reid From ying_arctype where id='$typeid' "); if(is_array($dbrow)) $reid = $dbrow['reid']; } $likeType = "; if($type=='top') { $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From ying_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row"; } else if($type=="son") { //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid']; if($typeid==0) { return "; } $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From ying_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row"; } else if($type=="self") { if($reid==0) { return "; } $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From 'ying_arctype' where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row"; } //And id<>'$typeid' $dtp2 = new DedeTagParse(); $dtp2->SetNameSpace("field","[","]"); $dtp2->LoadSource($innertext); $dsql2 = clone $dsql; $dsql->SetQuery($sql); $dsql->Execute(); $line = $row; $GLOBALS['autoindex'] = 0; for($i=0;$i < $line;$i++) { if($col>1) $likeType .= "- \r\n"; for($j=0;$j<$col;$j++) { if($col>1) $likeType .= "
- \r\n"; if($row=$dsql->GetArray()) { if($type=='self' && $row['id']==$typeid) //处理同级栏目中,当前栏目的样式 { if($currentstyle!=") { $linkOkstr = $currentstyle; $row['typelink'] = GetOneTypeUrlA($row); $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); $likeType .= $linkOkstr; } }else { $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); if(is_array($dtp2->CTags)) { foreach($dtp2->CTags as $tagid=>$ctag){ if(isset($row[$ctag->GetName()])) { $dtp2->Assign($tagid,$row[$ctag->GetName()]); } elseif (preg_match('/^sonchannel[0-9]*$/',$ctag->GetName())) { $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2)); } } } $likeType .= $dtp2->GetResult(); } } if($col>1) $likeType .= " \r\n"; $GLOBALS['autoindex']++; }//Loop Col if($col>1) { $i += $col - 1; $likeType .= "
- \r\n"; for($j=0;$j<$col;$j++) { if($col>1) $likeType .= "
- \r\n"; if($row=$dsql2->GetArray()) { $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); if(is_array($dtp2->CTags)) { foreach($dtp2->CTags as $tagid=>$ctag){ if(isset($row[$ctag->GetName()])) { $dtp2->Assign($tagid,$row[$ctag->GetName()]); } elseif (preg_match('/^sonchannel[0-9]*$/',$ctag->GetName())) { $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3)); } } } $likeType .= $dtp2->GetResult(); } if($col>1) $likeType .= " \r\n"; }//Loop Col if($col>1) { $i += $col - 1; $likeType .= "
在模板里面用 [field:sonchannel0] [/field:sonchannel0] 调用,这个是用来取子栏目用得(使用【sonchannel+数字】作为标签名是为了防止嵌套的时候无法正确解析标签),这个的作用就是当你的栏目有很多子栏目无限分级的时候方便你取子栏目的。实例一下:
代码如下:
以上是DEDECMS中获取无限栏目子分类的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
栏目
分类
代码
方法
内容
客户
时候
网站
弹出式
东西
产品
价值
企业
企业网站
作用
全拼
兴趣
同级
大部分
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网新科技
广东万易互联网科技有限公司惠州分公司
西安互联网科技
互联网 卓越科技
唐信互联网科技
互联网科技排名
新浪科技互联网
万达互联网科技
互联网科技公司做什么
互联网科技热点资讯
欧洲十大科技互联网公司
以后互联网后是啥科技
互联网经济与金融科技
广州市恰铎互联网科技有限公司
电子科技大学互联网创业大赛
互联网保险科技创业
众安科技工业互联网合作
广州互联网高科技取餐柜
青岛易易互联网科技
株洲百竞科技的互联网营销顾问
互联网科技有限公司
什么是科技互联网
互联网科技产业
科技企业和互联网企业
奇酷互联网科技公司
狮子座互联网科技培训
深圳艾佳互联网科技
科技赋能互联网健康
金融科技与互联网金融相同和不同
众安科技工业互联网合作