最近在做dedecms织梦项目时要获取当前栏目的顶级栏目,和当前栏目顶级栏目的第二级栏目。
这时我们需要写代码来操作:
1.获取当前栏目的顶级栏目名称
在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:field name='typeid' function="GetTopTypename(@me)" /}
2.当前栏目顶级栏目的第二级栏目
同样的,在include/common.func.php的最下方加入以下代码
function GetTop2Typename($id)
{
global $dsql;
$row = $dsql->GetOne("SELECT typename,reid,topid FROM dede_arctype WHERE id= $id");
if ($row['reid'] == $row['topid'])
{
return $row['typename'];
}
else
{
$row2 = $dsql->GetOne("SELECT reid,typename,topid FROM dede_arctype WHERE id= $row[reid]");
if($row2['reid']==$row2['topid']){
return $row2['typename'];
}else{
$row3=$dsql->GetOne("SELECT reid,typename,topid FROM dede_arctype WHERE id= $row2[reid]");
if($row3['reid']==$row3['topid']){
return $row3['typename'];
}
}
}
}
在前台调用即可,调用代码如下:
{dede:field.typeid function="GetTop2Typename(@me)" /}
注意:
这个“当前栏目顶级栏目的第二级栏目”这段代码我只判断了四级栏目(包含顶级栏目),如果你是四级以内(含四级),就可以获取当前栏目顶级的第二级栏目了。
祝您成功。
本文介绍了如何在dedecms织梦项目中通过PHP代码获取当前栏目的顶级栏目名称以及顶级栏目的第二级栏目名称。提供了在include/common.func.php文件中添加的函数代码示例,并给出了在前端调用这些函数的方法。请注意,此解决方案仅适用于四级以内的栏目结构。
实现方法&spm=1001.2101.3001.5002&articleId=115490986&d=1&t=3&u=46ee17662fbe4d679c2b408bdb9d3a60)
446

被折叠的 条评论
为什么被折叠?



