DedeCms获取任意栏目N级列表链接树形菜单,小编提示,下边的修改方法,适用于dedeCMS默认的表前缀,如果你安装的时候修改了,请注意修改。
在includeChannelunit.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 .= " <div><a><b>".$row->typename."</b></a></div> "; $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 .= "登录后复制
2、在模板里用
{dede:channel function='getProductTree(2)'}{/dede:channel}登录后复制