"景先生毕设|www.jxszl.com

dedecms获取顶级栏目名称二级栏目名称实现方法

2022-10-29 16:15编辑: www.jxszl.com景先生毕设
织梦DEDECMS文章.栏目页获取当前页面顶级栏目名称的方法

在用织梦做I.些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:fieldname=typename/}可以获取当前栏目页上I.级栏目的名称,而不是当前栏目顶级栏目名称.


 更多精彩就在: 51免费论文网|www.jxszl.com 
面拓展出I.个方法来实现这个效果.:

在include/common.func.php的最下方加入:



//获取顶级栏目名
functionGetTopTypename($id)
{
global$dsql;
$row=$dsql->GetOne("SELECTtypename,topidFROMdede_arctypeWHEREid=$id");
if($row[topid]==0)
{
return$row[typename];
}
else
{
$rowI.=$dsql->GetOne("SELECTtypenameFROMdede_arctypeWHEREid=$row[topid]");
return$rowI.[typename];
}
}

在文章页或者栏目列表页调用时,在所要调用名称的位置加上下面这行代码即可实现.

{dede:fieldname=typeidfunction="GetTopTypename(@me)"/}



在文章页中用下面这个方法来调用

{dede:fieldname=typeidfunction="GetTopTypename(@me)/}

===================================

dedecms获取顶级栏目名称.II级栏目名称实现方法

站长地带做站的时候碰到I.个问题,需要在II级.III级,甚至更多级,获取顶级栏目或者II级栏目名称.

现在和大家分享下最简单的实现方法.找到include/common.func.php文件,在里面加入下面这段代码:



//获取II级栏目名
functionGetTopTypename($id)
{
global$dsql;
$row=$dsql->GetOne("SELECTtypename,reidFROMdede_arctypeWHEREid=$id");
if($row[reid]==0)
{
return$row[typename];
}
else
{
$rowII=$dsql->GetOne("SELECTtypenameFROMdede_arctypeWHEREid=$row[reid]");
return$rowII[typename];
}
}



然后在任意列表页.内容页需要调用名称的地方加入:

{dede:field.typeidfuction="GetToypename(@me)"/}

如果在dede标签里面,就用下面这句调用:

[field:typeidfuction="GetToypename(@me)"/]

www.adminbuy.cn上面这个方法是调用栏目的II级栏目名称,如果需要顶级栏目名称,只要将SQL里面的reid字段改成topid就可以了.另外记得将dede_arctype前缀改成你数据库的前缀.


原文链接:http://www.jxszl.com/biancheng/dedecms/74142.html