首页 > CMS > 织梦DEDE > 正文

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

2024-07-12 08:40:54
字体:
来源:转载
供稿:网友

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。如果你的是其他的,请作相应修改。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表