織夢模板dedecms5.7 無限級多級欄目菜單調(diào)用教程
<?php if(!defined('DEDEINC')) exit('Request Error!'); function lib_randomartlist(&$ctag, &$refObj) { global $dsql; //屬性處理 //topid 指定頂級樹 id ,指定后,前一個屬性將無效 $attlist="typeid|0,showall|,currentstyle|,cacheid|"; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); $revalue = ''; //讀取固定的緩存塊 $cacheid = trim($cacheid); if($cacheid !='') { $revalue = GetCacheBlock($cacheid); if($revalue != '') return $revalue; } |
if(empty($typeid)) { if( isset($refObj->TypeLink->TypeInfos['id']) ) { $typeid = $refObj->TypeLink->TypeInfos['id']; $reid = $refObj->TypeLink->TypeInfos['reid']; $topid = $refObj->TypeLink->TypeInfos['topid']; } else { $typeid = 0; } } else { $row2 = $dsql->GetOne("SELECT reid,topid,channeltype,ispart FROM `dede_arctype` WHERE reid='$topid' "); if(!is_array($row2)) { $typeid = $reid = $topid = $channeltype = $ispart = 0; } else { $reid = $row2['reid']; $channeltype = $row2['channeltype']; $ispart = $row2['ispart']; $typepid = $row2['id']; } } //調(diào)用Typeid if( !empty($topid) ) { $topQuery = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE reid='$topid' And ishidden<>1 order by sortrank asc"; } $dsql->Execute('t', $topQuery); while($row = $dsql->GetArray('t')) { $row['typelink'] = GetOneTypeUrlA($row); //處理同級欄目中,當前欄目的樣式 if( $row['id']==$typeid && $currentstyle!='' ) { $linkOkstr = $currentstyle; $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr); $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr); $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); $revalue .= $linkOkstr; } else { $revalue .= " <li><a href='{$row['typelink']}'>{$row['typename']}</a></li>n"; } randomartlistSon($row['id'],$typeid,$currentstyle, $revalue); } if($cacheid !='') { WriteCacheBlock($cacheid, $revalue); } return $revalue; } function randomartlistSon($id,$typeid,$currentstyle,&$revalue) { global $dsql; $query = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE reid='{$id}' And ishidden<>1 order by sortrank asc"; $dsql->Execute($id, $query); $thisv = ''; while($row = $dsql->GetArray($id)) { $row['typelink'] = GetOneTypeUrlA($row); //處理同級欄目中,當前欄目的樣式 if( $row['id']==$typeid && $currentstyle!='' ) { $linkOkstr = $currentstyle; $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr); $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr); $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); $thisv .= $linkOkstr; } else { $thisv .= " <li><a href='{$row['typelink']}'>{$row['typename']}</a></li>n"; } randomartlistSon($row['id'],$typeid,$currentstyle, $thisv); } if($thisv!='') $revalue .= " <ul>n$thisv </ul>n"; } 2、調(diào)用方式: <div class="alist"> <ul> {dede:randomartlist topid='12' current} <li><a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}">{dede:field name='typename'/}</a></li> {/dede:randomartlist} </ul> </div> 3、css方式: .alist{} /*第一層修飾*/ .alist ul {} .alist ul li {} .alist ul li a{} .alist ul li a:hover,.alist ul li .thisclass{} /*第二層修飾*/ .alist ul li ul{} .alist ul li ul li{} .alist ul li ul li a{} .alist ul li ul li a:hover,.alist ul li ul li .thisclass{} |
上一篇:DedeCms織夢模板系統(tǒng)未審核文檔禁止動態(tài)瀏覽修改
欄 目:dedecms
下一篇:DedeCMS讓{dede:list}標簽支持weight權重排序
本文標題:織夢模板dedecms5.7 無限級多級欄目菜單調(diào)用教程
本文地址:http://mengdiqiu.com.cn/a1/dedecms/13536.html
您可能感興趣的文章
- 08-05Dedecms文件目錄結構解說(能知道織夢每個文件有什么用)
- 08-05Dedecms5.7版ckeditor網(wǎng)頁編輯器添加中文字體
- 08-05織夢DedeCMS獲取當前欄目文章數(shù)量
- 08-05織夢模板如何添加和調(diào)用自定義字段的方法
- 08-05織夢DedeCMS調(diào)用顯示discuz里面主題的方法
- 08-05限制織夢會員每天投稿數(shù)量方法
- 08-05常用的織夢dedecms安全設置集合整理
- 08-05織夢教程:后臺編輯器添加中文字體方法
- 08-05織夢修改文章排序到第一位如何解決?
- 08-05dede副欄目調(diào)用支持arclist標簽