测试了很多种方法,想要达到这种效果,获取到
也就是顶级栏目的名称。
最终在茫茫寻觅中找到了方法,现将寻找到的测试成功的方法分享如下,也便于回顾的时候能记得起:
我们在使用做一些网站的时候,时常会碰到需要调用当前栏目的顶级栏目名称的时候,织梦默认{dede:field name='typename' /} 可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称,下面拓展出一个方法来实现这个效果:
在include/common.func.php的最下方加入:
在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'];
}
}
//获取顶级栏目名
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'];
}
}
在文章页或者栏目列表页调用时,在所要调用栏目名称的位置加上下面这行代码即可实现:
{dede:field name='typeid' function="GetTopTypename(@me)" /}
这个在我们做很多dedecms网站的时候都会用到,记住吧!
{dede:field name='typeid' function="GetTopTypename(@me)" /}
这个在我们做很多dedecms网站的时候都会用到,记住吧!