上海易雅达程序员在做网站时要将dedecms调用当前顶级栏目名称

上海易雅达程序员在做网站时,需要将dedecms调用当前顶级栏目名称,其实想实现这个功能,不要到处搜索,都是骗人的,还得研究核心代码,关键在于添加几行代码,然后将数据库表名改为自己的,然后就成功了。
 
dedecms织梦默认{dede:field name='typename' /} 可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称,当然你的栏目级别只有二级时可以用这个。
 
下面方法将实现多级栏目时,获取当前栏目的顶级栏目名称。打开文件 include/common.func.php 在最底端加入如下代码:

//获取顶级栏目名
function GetTopTypename($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT typename,topid FROM h0p2ei85ahxf6_arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['typename'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT typename FROM h0p2ei85ahxf6_arctype WHERE id= $row[topid]");
        return $row1['typename'];
    }
}

请将上面代码中的表名dede_arctype 替换为 abc_arctype 表名中间不要出现空格
 
在文章页或者栏目列表页调用时,在所要调用顶级栏目名称的位置加上下面这行代码即可实现:
 
{dede:field name='typeid' function="GetTopTypename(@me)" /}

dedecms调用当前顶级栏目名称演示代码