我们在使用做一些网站的时候,时常会碰到需要调用当前栏目的顶级栏目名称的时候,织梦默认typename可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称,而且我发现网上很多都是人云亦云,有的方法根本就不能实现,这个方法是我亲自测试过的,保证管用
在include/common.func.php的最下方加入:
//获取顶级栏目名
function GetTopTypename($id)
{
global $dsql;
$row = $dsql->GetOne("SELECT typename,topid FROM jiemou_arctype WHERE id= $id");
if ($row['topid'] == '0')
{
return $row['typename'];
}
else
{
$row1 = $dsql->GetOne("SELECT typename FROM jiemou_arctype WHERE id= $row[topid]");
return $row1['typename'];
}
}
在文章页或者栏目列表页调用时,在所要调用栏目名称的位置加上下面这行代码即可实现:
[field:typeid function="GetTopTypename(@me)" /]
{dede:field name='typeid' function="GetTopTypename(@me)" /}