DedeCms怎麼取得任意欄位N級清單連結樹狀選單?
DedeCms取得任意欄位N級清單連結樹狀選單,小編提示,下邊的修改方法,適用於DedeCMS預設的表前綴,如果你安裝的時候修改了,請注意修改。
推薦學習:織夢cms
在\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怎麼取得任意欄位N級列表連結樹形選單的詳細內容。更多資訊請關注PHP中文網其他相關文章!