织梦cms导航栏突出显示当前栏目级当前一级栏目

由于功能需要,想在页面中获得当前栏目所属的顶级栏目的权重和二级栏目的权重(用于导航条自动高亮)在网上搜到了一些朋友提供的方法,但是可能是版本更新的缘故导致不能用了(当时数据库中用topid标注顶级栏目id…

由于功能需要,想在页面中获得当前栏目所属的顶级栏目的权重和二级栏目的权重(用于导航条自动高亮)
在网上搜到了一些朋友提供的方法,但是可能是版本更新的缘故导致不能用了(当时数据库中用topid标注顶级栏目id,用reid标注上级栏目id,但是在5.7版本中经确认两者已合一表示上级栏目id)
根据别人的方法,修改如下,5.7版可用
在include/extend.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
{
return GetTopTypeName($row['topid']);
}
}

//获取所属顶级栏目的sortrank
function GetTopTypeSortrank($id)
{
global $dsql;
$row = $dsql->GetOne(“SELECT sortrank,topid FROM dede_arctype WHERE id= $id”);
if ($row['topid'] == ’0′)
{
return $row['sortrank'];
}
else
{
return GetTopTypeSortrank($row['topid']);
}
}

//获取二级栏目名
function GetSecondTypeName($id)
{
global $dsql;
$row = $dsql->GetOne(“SELECT typename,topid FROM dede_arctype WHERE id= $id”);
if ($row['topid'] == ’0′) //如果本栏目就是顶级栏目,即不存在二级栏目,则返回本级栏目
{
return $row['typename'];
}
else
{
$row2 = $dsql->GetOne(“SELECT typename,topid FROM dede_arctype WHERE id= $row[topid]“);
if ($row2['topid'] == ’0′) //如果上级栏目就是顶级栏目,即本级栏目就是二级栏目,则返回本级栏目
{
return $row['typename'];
}
else
{
return GetSecondTypeName($row['topid']);
}
}
}

//获取二级栏目Sortrank
function GetSecondTypeSortrank($id)
{
global $dsql;
$row = $dsql->GetOne(“SELECT sortrank,topid FROM dede_arctype WHERE id= $id”);
if ($row['topid'] == ’0′)
{
return $row['sortrank'];
}
else
{
$row2 = $dsql->GetOne(“SELECT sortrank,topid FROM dede_arctype WHERE id= $row[topid]“);
if ($row2['topid'] == ’0′) //如果上级栏目就是顶级栏目,即本级栏目就是二级栏目,则返回本级栏目
{
return $row['sortrank'];
}
else
{
return GetSecondTypeSortrank($row['topid']);
}
}
}

页面调用方法:{dede:field name=’typeid’ runphp=’yes’}@me=GetTopTypeName(@me)-1;

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

在文件 include/taglib/channelartlist.lib.php第67行左右, 查找: $tpsql = reid=0 AND ispart2 AND ishidden1 AND channeltype0 ; 修改为: $tpsql = reid=0 AND ishidden1 AND channeltype0 ; 即删除 AND ispart2 完成。 栏目为外部链接时默认使用新窗口
我们在使用织梦系统制作网站时经常会遇到网站栏目较多,显示当前栏目下的二级与三级栏目时,使用栏目嵌套标签,但是当三级栏目为空时,会显示同级栏目。从用户体验角度出发,常理情况下也是需要空白的,即二级栏目下的三级栏目如为空时,则不显示。那么如何