dedecms获取当前栏目的顶级栏目名称、二级栏目名称(当前顶级栏目的第二级栏目名称)实现方法

本文介绍了如何在dedecms织梦项目中通过PHP代码获取当前栏目的顶级栏目名称以及顶级栏目的第二级栏目名称。提供了在include/common.func.php文件中添加的函数代码示例,并给出了在前端调用这些函数的方法。请注意,此解决方案仅适用于四级以内的栏目结构。

最近在做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)" /}

注意:
这个“当前栏目顶级栏目的第二级栏目”这段代码我只判断了四级栏目(包含顶级栏目),如果你是四级以内(含四级),就可以获取当前栏目顶级的第二级栏目了。
祝您成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lizige2008

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值