DedeCms获取任意栏目N级列表链接树形菜单的方法

所属分类: CMS教程 / dedecms 阅读数: 1373
收藏 0 赞 0 分享

DedeCms获取任意栏目N级列表链接树形菜单,小编提示,下边的修改方法,适用于DedeCMS默认的表前缀,如果你安装的时候修改了,请注意修改。

在\include\channelunit.func.php文件底部添加如下代码:

/*树形栏目补充,获取二级,san级,四级栏目列表/ 
 
function getProductTree($typeid)
 
{
 
$linkList = "";
 
$dsql = new DedeSql(false);
 
$dsql->SetQuery("select ID,typedir,typename,isdefault from dede_arctype where reID = '$typeid' order by sortrank");
 
$dsql->Execute();
 
while($row=$dsql->GetObject())
 
{
 
   $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
 
   $linkList .= "\n<div class=\"firsttype\"><a href=\"$typelink\"><b>".$row->typename."</b></a></div>\n\n";
 
   $linkList .= getSonClass($row->ID);
 
}
 
$dsql->Close();
 
return $linkList;
 
}
 
//获得小类栏目链接
 
function getSonClass($parentid)
 
{
 
$linkList = "";
 
$dsql = new DedeSql(false);
 
$dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
 
$dsql->Execute($parentid);
 
while($row=$dsql->GetObject($parentid))
 
{
 
   $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
 
   $linkList .= "<li class=\"secondtype\"><a href=\"$typelink\">".$row->typename."</a></li>\n";
 
   $linkList .= getSonClass2($row->ID);
 
}
 
return $linkList;
 
}
 
function getSonClass2($parentid)
 
{
 
$linkList = "";
 
$dsql = new DedeSql(false);
 
$dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
 
$dsql->Execute($parentid);
 
while($row=$dsql->GetObject($parentid))
 
{
 
   $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
 
   $linkList .= "<li class=\"thirdtype\"><a href=\"$typelink\">".$row->typename."</a></li>\n";
 
   $linkList .= getSonClass3($row->ID);
 
}
 
return $linkList;
 
}
 
function getSonClass3($parentid)
 
{
 
$linkList = "";
 
$dsql = new DedeSql(false);
 
$dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
 
$dsql->Execute($parentid);
 
while($row=$dsql->GetObject($parentid))
 
{
 
   $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
 
   $linkList .= "<li class=\"fourthtype\"><a href=\"$typelink\">".$row->typename."</a></li>\n";
 
}
 
return $linkList;
 
}
/*树形栏目补充*/ 

2、在模板里用

{dede:channel function='getProductTree(2)'}{/dede:channel}  

调用即可。这里getProductTree(2)中的 2 是产品展示的栏目ID。如果你的是其他的,请作相应修改。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

织梦DedeCms取消后台登陆验证码的方法示例

经常建站和做优化的站长朋友们都很清楚网站的优化和客户体验度是永远需要排在第一位的,这篇文章主要介绍了织梦DedeCms取消后台登陆验证码的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

织梦栏目有缓存导致刚发布的文章条数和分页不同步处理方法

这篇文章主要介绍了织梦栏目有缓存导致刚发布的文章条数和分页不同步处理方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

加快织梦dedeCMS内容生成速度方法

最近有位站长朋友咨询一个十几万数据的DedeCMS系统,发现用Dedecms生成速度,慢的跟蜗牛一样,CPU达到100%,有时候半天都不动。这让大数据的网站的站长非常头疼,下面为大家解决这个问题
收藏 0 赞 0 分享

织梦dedecms的arclist循环中判断第一个li,则添加固定的css否则不加

这篇文章主要介绍了织梦dedecms的arclist循环中,判断如果是第一个li,则添加固定的css,否则不加,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

dedecms织梦模板里显示当前登录会员名

有时我们只是需要在网站某个地方显示一下当前登录的会员名字,这篇文章主要介绍了dedecms织梦模板里显示当前登录会员名,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

dedecms织梦模板中plus文件作用介绍及安全设置详解

很多新手用户在使用织梦CMS程序过程中,难免会碰到挂马中毒现象,所以事先我们要对网站及服务器安全做好预防备份处理,这篇文章主要介绍了dedecms织梦模板中plus文件作用介绍及安全设置详解,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解织梦DedeCms的安全问题优化解决办法(安全设置)

这篇文章主要介绍了详解织梦DedeCms的安全问题优化解决办法(安全设置)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解dedecms后台编辑器将回车<br>改为<p>的方法

DEDECMS编辑器默认回车[确认键]是返回<br />这样的。有时候我们需要返回<p> </p>这样的,今天我们就讲讲后台编辑器将回车将<br>改为<p>的有效教程吧,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

解决dedecms多域名和站点的绑定的问题

dedecms可以实现多级域名,不同域名的绑定.这篇文章主要介绍了解决dedecms多域名和站点的绑定的问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

DedeCMS调用相关文章likearticle附加自定义字段

DedeCMS非常灵活,可以根据关键词、文章标题调用文章,以提高内容之间的相关度,提高页面权重。这篇文章主要介绍了DedeCMS调用相关文章likearticle附加自定义字段,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多