-
合同糾紛知識產(chǎn)權(quán)類網(wǎng)站...
-
家禽飼養(yǎng)基地類網(wǎng)站織夢...
-
學(xué)院技術(shù)學(xué)校類網(wǎng)站織夢...
-
電子元件電路板類網(wǎng)站織...
-
新媒體新聞博客資訊類網(wǎng)...
-
品牌設(shè)計建設(shè)類網(wǎng)站織夢...
-
微信小程序代理銷售類網(wǎng)...
-
食品百貨英文外貿(mào)類網(wǎng)站...
-
網(wǎng)站建設(shè)設(shè)計營銷類網(wǎng)站...
-
法律咨詢律師事務(wù)所類網(wǎng)...
-
旅游公司類網(wǎng)站織夢模板...
-
企業(yè)管理咨詢類網(wǎng)站織夢...
-
塑身瑜伽館培訓(xùn)課程類網(wǎng)...
-
建筑工程施工類網(wǎng)站織夢...
-
地暖熱水器節(jié)能設(shè)備類網(wǎng)...
-
商務(wù)禮品高端禮品定制類...
-
廢品回收上門服務(wù)類網(wǎng)站...
-
食品產(chǎn)業(yè)園類網(wǎng)站織夢模...
-
機械制造軸承類網(wǎng)站織夢...
-
茶葉茶道類網(wǎng)站織夢模板...
在用到織夢模板無限級欄目列表菜單時下載了網(wǎng)上的資料都未成功,因此我參考網(wǎng)上及dedecms本身的channel.lib.php及cattree.lib.php制作了調(diào)用標(biāo)簽。
在/include/taglib建立一個randomartlist.lib.php文件
內(nèi)容如下:
<?phpif(!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;}//如果屬性里沒指定欄目id,從引用類里獲取欄目信息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)用Typeidif( !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);//處理同級欄目中,當(dāng)前欄目的樣式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);//處理同級欄目中,當(dāng)前欄目的樣式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";}
- 前端調(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>
- 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{}


