M1850资源网 - 最专业的网站源码模板下载站!

全部作品
全部作品
织梦模板
网站模板
源码插件
游戏源码
脚本特效
视频教程
建站教程
M1850资源网 > 建站教程 > 织梦教程 > 织梦优化 > 织梦cms导航栏突出显示当前栏目级当前一级栏目

推荐下载

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

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

嘿,我来帮您!

展开