dedecms怎么獲取任意欄目n級列表鏈接樹形菜單?
Dedecms獲取任意欄目N級列表鏈接樹形菜單,小編提示,下邊的修改方法,適用于DEDECMS默認(rèn)的表前綴,如果你安裝的時候修改了,請注意修改。
推薦學(xué)習(xí):織夢cms
在includechannelunit.func.php文件底部添加如下代碼:
/*樹形欄目補(bǔ)充,獲取二級,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><a><b>".$row->typename."</b></a></div>nn"; ?? ???$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?.=?"
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?.=?“
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?.=?“
n”; ?? } ?? return?$linkList; ?? } /*樹形欄目補(bǔ)充*/
2、在模板里用
{dede:channel?function='getProductTree(2)'}{/dede:channel}
調(diào)用即可。這里getProductTree(2)中的 2 是產(chǎn)品展示的欄目ID。如果你的是其他的,請作相應(yīng)修改。