DEDECMS文章页、栏目页获取当前页面顶级栏目名称的方法

织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法

在用织梦做一些项目时,尤其企业站的时候,时常会碰到需要在当前页面调用顶级栏目名称的时候。织梦默认{dede:field name='typename' /} 可以获取当前栏目页上一级栏目的名称(也就是父级和子级都调用出来),而不是当前栏目的顶级栏目名称。下面学技巧就分享一个方法来实现这个效果:

一:首先在include/common.func.php的最下方加入:

//获取顶级栏目名

function GetTopTypename($$id)
{
    global $$dsql;
    $$row = $$dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $$id");
    if ($$row['topid'] == '0')
    {
        return $$row['typename'];
    }
    else
    {
        $$row1 = $$dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $$row[topid]");
        return $$row1['typename'];
    }
}


注意:dede_arctype这个表的前缀改为自己当前数据表前缀,列如www_xuejiqiao_arctype

二:在文章页或者栏目列表页调用时,在所要调用 名称的位置加上下面这行代码即可实现。

{dede:field name='typeid' function="GetTopTypename(@me)" /}

在文章页中用下面这个方法来调用

{dede:field name='typeid' function="GetTopTypename(@me) /}

+