dedecms5.7獲取頂級欄目名稱的標簽
下面是調用頂級欄目名稱的方法:
方法一:

01{dede:field.typeid runphp=’yes’}$ID = @me;
02 
03$sql = “SELECT * FROM `dede_arctype` WHERE id=$ID”;
04 
05$query = mysql_query($sql);$row=mysql_fetch_array($query);
06 
07$relID = “$row[reid]“; if($relID == 0) {@me = $row[typename];}
08 
09else{$sql = “SELECT `typename` FROM `dede_arctype` WHERE id=$relID”;
10 
11$query = mysql_query($sql);$row=mysql_fetch_array($query);
12 
13@me = $row[typename];}{/dede:field.typeid}
這個方法語句有些長。
方法二:

1{dede:field.title  runphp='yes'}
2 
3list($toptype,$sontype)=split('/',@me);@me=$toptype;
4 
5{/dede:field.title}
方法三:
01{dede:field.typeid runphp='yes'}
02 
03$ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";
04 
05$query = mysql_query($sql);$row=mysql_fetch_array($query);
06 
07$relID = "$row[reid]"; $topID="$row[topid]";
08 
09if($relID == 0) {@me = $row[typename];}
10 
11else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$topID";
12 
13$query = mysql_query($sql);$row=mysql_fetch_array($query);
14 
15@me = $row[typename];}{/dede:field.typeid}
方法四(推薦):
打開include/helpers/extend.helper.php,添加一個函數:
08 
09if ( ! function_exists('getTopChannelName'))
10 
11{
12 
13function getTopChannelName($id) {
14 
15   global $dsql;
16 
17        $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
18 
19        if($typeinfo['reid']==0) return $typeinfo['typename'];
20 
21        else return getTopChannelName($typeinfo['reid']);
22 
23}
24 
25}
在列表頁這么使用:{dede:field name='id'  function='getTopChannelName(@me)'/}
在內容頁這么使用:{dede:field name='typeid'  function='getTopChannelName(@me)'/}
附帶獲取頂級欄目的url:
打開include/helpers/extend.helper.php,添加一個函數:
04 
05if ( ! function_exists('getTopChannelUrl'))
06 
07{
08 
09function getTopChannelUrl($id) {
10 
11   global $dsql;
12 
13        $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
14 
15        if($typeinfo['reid']==0) return GetOneTypeUrlA($typeinfo);
16 
17        else return getTopChannelUrl($typeinfo['reid']);
18 
19}
20 
21}