DEDECMS調(diào)用頂級(jí)欄目+頂級(jí)欄目ID的方法

字號(hào):


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