小李SEO博客

網站優化服務

織夢cms獲取任意欄目N級列表鏈接樹形菜單

在織夢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、偽靜態的話請用以下代碼://在任意頁面獲取某頂級欄目下的二級欄目列表 用于channel標記 $typeid為頂級欄目ID (用于偽靜態)function getProductClass($typeid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("select ID,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="/list-".$row->ID.".html">".$row->typename."</a></li>n ";}$dsql->Close();return $linkList;(DEDECMS全站偽靜態請看這里:DEDECMS全站(首頁、列表、文章頁)偽靜態詳細教程)

二、在任意頁面獲取某頂級欄目下的二級欄目和san級欄目列表(樹形菜單)這里其實是取得一個樹形菜單,共兩級,如要多級的話,請自行參照修改。

1、在 /include/inc_functions.php 最后的 ?> 前加入以下代碼://在任意頁面獲取某頂級欄目下的二級欄目和san級欄目列表 用于channel標記 $typeid為頂級欄目IDfunction getProductTree($typeid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("select ID,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 .= "n<li><a href="$typelink"><b>".$row->typename."</b></a></li>nn";$linkList .= getSonClass($row->ID);}$dsql->Close();return $linkList;}//獲得小類欄目鏈接function getSonClass($parentid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("Select ID,typedir,typename 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);$linkList .= "<li class="smallclass"><a href="$typelink">".$row->typename."</a></li>n";}return $linkList;}

2、在模板里用{dede:channel function=’getProductTree(2)’}{/dede:channel}調用即可。這里getProductTree(2)中的 2 是產品展示的欄目ID。如果你的是其他的,請作相應修改。

3、產生的代碼如下:<li><a href="/product/ac-dc/"><b>AC/DC開關電源</b></a></li><li class="smallclass"><a href="/product/ac-dc/1-way/">一路輸出10W-350W</a></li><li class="smallclass"><a href="/product/ac-dc/2-way/">二路輸出15W-200W</a></li><li class="smallclass"><a href="/product/ac-dc/3-way/">三路輸出15W-200W</a></li><li class="smallclass"><a href="/product/ac-dc/4-way/">四路輸出30W-200W</a></li><li><a href="/product/dc-dc/"><b>DC/DC開關電源</b></a></li><li class="smallclass"><a href="/product/dc-dc/1-way/">一路輸出10W-200W</a></li><li class="smallclass"><a href="/product/dc-dc/2-way/">二路輸出10W-150W</a></li><li class="smallclass"><a href="/product/dc-dc/3-way/">三路輸出10W-150W</a></li><li class="smallclass"><a href="/product/dc-dc/4-way/">四路輸出10W-150W</a></li>在CSS里你就可以對 .smallclass 設置樣式,如不同背景和縮進等。更新:

4、偽靜態的話請用以下代碼:/*——————————————————在任意頁面獲取某頂級欄目下的二級欄目和san級欄目列表 用于channel標記?。ㄓ糜趥戊o態)——————————————————*///獲得大類欄目鏈接function getProductTree($typeid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("select ID,typename from dede_arctype where reID = ‘$typeid’ order by sortrank");$dsql->Execute();while($row=$dsql->GetObject()){$linkList .= "n<li><a href="/list-".$row->ID.".html"><b>".$row->typename."</b></a></li>nn";$linkList .= getSonClass($row->ID);}$dsql->Close();return $linkList;}//獲得小類欄目鏈接function getSonClass($parentid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("Select ID,typename From dede_arctype where reID=’$parentid’ order by sortrank");$dsql->Execute($parentid);while($row=$dsql->GetObject($parentid)){$linkList .= "<li class="smallclass"><a href="/list-".$row->ID.".html">".$row->typename."</a></li>n";}return $linkList;}(DEDE全站偽靜態請看這里:DEDECMS全站(首頁、列表、文章頁)偽靜態詳細教程)最誘人的更新:

三、在任意頁面獲取頂級欄目和二級欄目列表:1、在 /include/inc_functions.php 最后的 ?> 前加入以下代碼:加入第二點[二、在任意頁面獲取某頂級欄目下的二級欄目和san級欄目列表(樹形菜單)]的兩個函數,然后把第一個函數 function getProductTree($typeid)里的:select ID,typedir,typename from dede_arctype where reID = ‘$typeid’order by sortrank改為:select ID,typedir,typename from dede_arctype where reID = ’0′ order by sortrank就是把 $typeid改為0。2、在模板里用{dede:channel function=’getProductTree()’}{/dede:channel}調用即可。3、你可舉一反三做成N級欄目列表調用,具體我不寫了??吹竭@里,你是不是有什么想法?對了,可以參照這里改一下做二級滑動導航欄!


上一篇:織夢cms后臺反應特別慢點擊就卡住解決辦法 下一篇:dedecms實現無覓相關文章功能
織夢cms相關文章閱讀
  • 織夢cms留言板增加自定義字段方法

    小李網絡公司介紹織夢cms留言板增加自定義字段方法知識,包括織夢dedecms教程織夢留言模塊dedecms織夢系統織夢怎么查看留言織夢留言回復dedecms留言板地址dedecms制作留言板織夢留言板插件....

  • dedecms大數據量時織夢cms的優化

    小李網絡公司介紹dedecms大數據量優化知識.包括織夢dedecms快速生成靜態頁面速度優化方法百度經驗,加快織夢dedeCMS內容生成速度方法_dedecms_CMS教程_腳本之家.織夢DEDECMS大數據量時DEDECMS的優化-巨...

  • 織夢cms在標簽中使用Runphp調用其他變量方法

    小李網絡公司介紹織夢cms在標簽中使用Runphp調用其他變量方法知識,包括變量標簽是什么php定義變量正確的是php如何聲明變量php變量賦值php局部變量stata導出變量名和標簽變量標簽和變量名stata修...

  • 織夢cms自定義文件名用拼音或英文標題方法

    小李網絡公司介紹織夢cms自定義文件名用拼音或英文標題知識,包括帝國cms和織夢哪個好dede自定義背景dede自定義鏈接dede刪除自定義dede搜索自定義dede標記教程自定義表單dededede自定義模塊dede模板...

  • 織夢cms自定義php文件支持include標簽教程

    小李網絡公司介紹織夢cms自定義php文件支持include標簽教程知識,包括Php中include用法dedecms支持php7嗎php中的includededecms高版本phpdedecmsphp加入代碼dedecms模板phpdedecmsphp安裝dedecms支持php....

  • 織夢cms手機站m目錄啟用二級域名方法

    小李網絡公司介紹織夢cms手機站m目錄啟用二級域名知識,包括dedecms織夢手機站m目錄啟用二級域名方法_織夢58,織夢cms建站教程域名解析到二級目錄織夢 建站dedecms織夢系統nginx二級域名織夢目錄添...

  • 織夢cms自定義模型隸屬欄目無法選擇和批量創建解決方法

    小李網絡公司介紹織夢cms自定義模型隸屬欄目無法選擇和批量創建解決方法知識,包括用織夢Dede批量創建欄目時自定義模型隸屬欄目無法選擇和創建,自定義是什么意思自定義人物模型的游戲自定...

  • 織夢cms模板列表文章無縮略圖自動隱藏默認縮略圖

    小李網絡公司介紹織夢cms模板列表文章無縮略圖自動隱藏默認縮略圖知識,包括工具欄自動隱藏怎么辦縮略圖怎么弄什么叫縮略圖縮略圖怎么恢復網頁上欄總是自動隱藏取消菜單欄自動隱藏縮略...

  • 織夢cms網站自動錨文本設置方法

    小李網絡公司介紹織夢cms網站自動錨文本知識,包括教織夢DEDECMS源碼自動錨文本設置辦法詳解的教程,錨文本和超鏈接的區別錨文本指的是什么錨文本鏈接怎么做文本的選定方式有哪些怎么用文本...

  • 織夢cms下面生成Google Sitemap網站地圖方法

    小李網絡公司介紹織夢cms下面生成Google Sitemap網站地圖方法知識,包括產生隨機數的常用方法數字隨機生成一鍵生成小字體生成器目錄如何生成生成元怎么求生成算法的步驟是什么京貼鏈接生成方...

  • 織夢cms后臺文章列表頁碼異常解決辦法

    小李網絡公司介紹織夢cms后臺文章列表頁碼異常知識,包括dedecms列表頁碼dedecms織夢系統de的頁碼改中文dede文章頁碼調用dedecms分頁修改dede定義頁碼樣式dedecms修改頁腳dedecms搜索頁頁碼....

  • dedecms修改織夢提示信息對話框方法

    小李網絡公司介紹dedecms修改織夢提示信息對話框知識,包括織夢模板首頁修改教程織夢默認模板修改修改樣式對話框在哪網頁型1織夢模板如何修改首頁微信對話框設置織夢手機端模板修改織夢模...

SEO公司排名
在线视频国产网站你懂得},97se亚洲国产综合自在线观看,婷婷五月色综合香五月a,欧洲自拍视频另类中文字幕
?
QQ在線咨詢
SEM競價推廣
137-1296-7640
SEO優化外包
137-1296-7640