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,添加一个函数: