欢迎来到站长天空!

DedeCMS

当前位置: 主页 > CMS教程 > DedeCMS

DedeCms获取任意栏目N级列表链接树形菜单的方法

时间:2025-12-04 15:43:48|栏目:DedeCMS|点击:

DedeCms获取任意栏目N级列表链接树形菜单,小编提示,下边的修改方法,适用于DedeCMS默认的表前缀,如果你安装的时候修改了,请注意修改。

在\include\channelunit.func.php文件底部添加如下代码:

/*树形栏目补充,获取二级,san级,四级栏目列表/ 
 
function getProductTree($typeid)
 
{
 
$linkList = "";
 
$dsql = new DedeSql(false);
 
$dsql->SetQuery("select ID,typedir,typename,isdefault from dede_arctype where reID = '$typeid' order by sortrank");
 
$dsql->Execute();
 
while($row=$dsql->GetObject())
 
{
 
   $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
 
   $linkList .= "\n<div class=\&;firsttype\&;><a href=\&;$typelink\&;><b>".$row->typename."</b></a></div>\n\n";
 
   $linkList .= getSonClass($row->ID);
 
}
 
$dsql->Close();
 
return $linkList;
 
}
 
//获得小类栏目链接
 
function getSonClass($parentid)
 
{
 
$linkList = "";
 
$dsql = new DedeSql(false);
 
$dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
 
$dsql->Execute($parentid);
 
while($row=$dsql->GetObject($parentid))
 
{
 
   $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
 
   $linkList .= "<li class=\&;secondtype\&;><a href=\&;$typelink\&;>".$row->typename."</a></li>\n";
 
   $linkList .= getSonClass2($row->ID);
 
}
 
return $linkList;
 
}
 
function getSonClass2($parentid)
 
{
 
$linkList = "";
 
$dsql = new DedeSql(false);
 
$dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
 
$dsql->Execute($parentid);
 
while($row=$dsql->GetObject($parentid))
 
{
 
   $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
 
   $linkList .= "<li class=\&;thirdtype\&;><a href=\&;$typelink\&;>".$row->typename."</a></li>\n";
 
   $linkList .= getSonClass3($row->ID);
 
}
 
return $linkList;
 
}
 
function getSonClass3($parentid)
 
{
 
$linkList = "";
 
$dsql = new DedeSql(false);
 
$dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
 
$dsql->Execute($parentid);
 
while($row=$dsql->GetObject($parentid))
 
{
 
   $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
 
   $linkList .= "<li class=\&;fourthtype\&;><a href=\&;$typelink\&;>".$row->typename."</a></li>\n";
 
}
 
return $linkList;
 
}
/*树形栏目补充*/

2、在模板里用

{dede:channel function='getProductTree(2)'}{/dede:channel} 

调用即可。这里getProductTree(2)中的 2 是产品展示的栏目ID。如果你的是其他的,请作相应修改。


上一篇:DedeCms防止垃圾文章群发、垃圾评论和注册的方法

栏    目:DedeCMS

下一篇:详解织梦dedecms标签{dede:flink /}用法

本文标题:DedeCms获取任意栏目N级列表链接树形菜单的方法

本文地址:https://zz.feitang.co/CMSjiaocheng/28390.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号