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。如果你的是其他的,請作相應修改。
新聞熱點
疑難解答