dede獲取任意欄目N級列表鏈接樹形菜單,織夢教程
導讀:織夢教程織夢教程在DEDECMS里獲取頂級欄目很簡單,一句 {dede:channel}{/dede:channel} 即可搞定。但有時我們需要在任意頁面獲取任意頂級欄目下的二dede手機模板免費織夢模板。
在DEDECMS里獲取頂級欄目很簡單,一句 {dede:channel}{/dede:channel} 即可搞定。但有時我們需要在任意頁面獲取任意頂級欄目下的二級和san級欄目列表的鏈接, {dede:channel} 就無能為力了。注意,我說的是在“任意”(首頁、封面、列表、文章等)頁面調用“任意”二或san級欄目列表。
OK,一步步來,先第一個。(適用dedecmsV4,V5.X未測試。)
感謝雙贏朋友幫忙測試。原來的函數在某些主機上進行生成html操作會提示 inc_channel_unit_functions.php 出錯,現已改正。大家可放心使用。
一、在任意頁面獲取某頂級欄目下的二級欄目列表
例如,我們要在首頁或其他頁面插入 產品展示 這個頂級欄目的下級欄目列表,
1、在 /include/inc_functions.php 最后的 ?> 前加入以下代碼:
//在任意頁面獲取某頂級欄目下的二級欄目列表 用于channel標記 $typeid為頂級欄目ID function getProductClass($typeid) { $linkList = ""; $dsql = new DedeSql(false); $dsql->SetQuery("select typedir,typename 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); $linkList .= "<li>·<a href="$typelink">".$row->typename."</a></li>n "; } $dsql->Close(); return $linkList; }
2、在模板里用
{dede:channel function=’getProductClass(2)’}{/dede:channel}
調用即可。這里getProductClass(2)中的 2 是產品展示的欄目ID。如果你的是其他的,請作相應修改。
3、效果如下:
4、偽靜態的話請用以下代碼:
//在任意頁面獲取某頂級欄目下的二級欄目列表 用于channel標記 $typeid為頂級欄目ID (用于偽靜態) function getProductClass($typeid) { $linkList = ""; $dsql = new DedeSql(false); $dsql->SetQuery("select ID,typename from dede_arctype where reID = ‘$typeidR織夢文章模板17; order by sortrank"); $dsql->Execute(); while($row=$dsql->GetObject()) { $typelink = GetTypeUrl($row->ID,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2); $linkList .= "<li>·<a href="/list-".$row->ID.".html">".$row->typename."</a></li>n "; } $dsql->Close(); return $linkList; }
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-22 ,文章dede獲取任意欄目N級列表鏈接樹形菜單,織夢教程主要講述菜單,欄目,織夢網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_33598.html