本文實例講述了DEDECMS調用頂級欄目+頂級欄目ID的方法。分享給大家供大家參考。具體方法如下:
今天,遇到一個問題,也就是一個頂部導航的問題,頂部導航是一個包起來的,好多同學可能會想,直接拿出來一個樣子,直接套用不就得了,但是,我想說的是,每個li的class都是不一樣的,class分別是class1 class2 class3 這種類型的,所以,就讓我想到了欄目的ID 那么怎么調用頂級欄目的ID 呢,具體看下面的代碼:
dede調用頂級欄目ID 方法一:
復制代碼代碼如下:{dede:field.id function="GetTopid(@me)"/}
織夢者首推這一方法,經(jīng)過測試是可行的.
dede調用頂級欄目ID 方法二:
首先,在所需要調用頂級欄目ID的地方,添加這段標簽語法:
復制代碼代碼如下:{dede:type}[feild:topid/]{/dede:type}
第二,修改源文件,找到include目錄下的taglib目錄下的type.lib.php,找到這條語句:
復制代碼代碼如下:$row = $dsql->GetOne("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id='$typeid' ");
修改成為:
復制代碼代碼如下:$row = $dsql->GetOne("Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id='$typeid' ");
在if(!is_array($row)) return ";下一行添加
復制代碼代碼如下:if( $row['topid']==0){$row['topid']=$row['id'];}
這樣,這條語句在頂級欄目還是子欄目,都可以調用了:
復制代碼代碼如下:{dede:channelartlist typeid='1,2,3,4,5,6,7' row=7}
{dede:field name='typename'/}
{/dede:channelartlist}
希望本文所述對大家的dedecms建站有所幫助。
更多信息請查看IT技術專欄