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

所属分类: CMS教程 / dedecms 阅读数: 1303
收藏 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。如果你的是其他的,请作相应修改。

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

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

dedecsm模板中首页如何实现分页的三种方法比较分析

织梦dedecsm模板中首页如何实现分页的三种方法:用arclist标签+Ajax实现织梦首页分页/自由列表实现织梦首页分页等等,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

Dedecms图片加上Alt和Title等属性的修改方法

Dedecms发表资讯等等上传的图片全部没有title,虽然有这个选项却不生效,于是就研究了一下,发现只需要在相关文件添加一段代码即可。先告知大家方法,希望更多的人能够受益
收藏 0 赞 0 分享

DEDECMS 留言薄模块的使用方法

DEDECMS默认没有启用留言板的功能,所以要我们自己添加。不论是普通的企业站还是门户型的CMS,只要是需求明显的网站都应该要有留言板的互动模块
收藏 0 赞 0 分享

dedecms5.7 文章不能发布问题探讨及解决方法

dedecms的前台会员发布文章的功能,用ckeditor就有点问题了,会员上传图片,用ckeditor的话,非管理员账号点击上传图片按钮时会弹出:提示:需输入后台管理目录才能登录,真的是很郁闷啊,遇到此问题的朋友可以看看哦
收藏 0 赞 0 分享

解决织梦DEDE5.7 tags系列bug(图解步骤)

网上搜索了一下,很多都没什么太大的作用,最多只是给个简单的思想,而没自己实际解决掉织梦5.7 tags标签显示未审核的BUG,想修复这个bug就是找不到相关的文章,很是郁闷,感兴趣的朋友可以了解下本文或许对你有所帮助
收藏 0 赞 0 分享

dede:likearticle文章标签和tag标签关联错误解决方法

织梦5.7有个dede:likearticle标记是用来文章的关联,在使用过程中发现关联实在是不理想,接下来介绍把dede的搜索功能给替换到这个likearticle上应该会好很多,感兴趣的朋友可以了解下啊,或许对你有所帮助
收藏 0 赞 0 分享

dedecms图片相关问题—后台上传图片实现图片轮播

用dedecms套网站已经有很长时间了,但图片轮播都是手工修改代码.今天抽时间研究了一下在后台上传图片来实现图片轮播,这样可以提高工作效率解放了手工,感兴趣的朋友可以参考下本文,或许有意外的收获啊
收藏 0 赞 0 分享

织梦(dede)模板标签书写格式的规范和相关注意事项

一、织梦模板标签的书写格式以及注意事项:   1. 书写格式:     ① {dede:标签名 参数='值' 参数='值'} 底层模板 {/dede:标签名}     ② {dede:标签名 参数='值'/}
收藏 0 赞 0 分享

DedeEIMS后台栏目模板(含单独页模板)修改方法

栏目不能更改模板,难道只能用默认的?那不太可能吧,本文提供了详细的修改方法,感兴趣的你可不要错过了哈,希望接下来的内容可以帮助到你
收藏 0 赞 0 分享

dedecms标签调用大全 Dedecms5.7 使用教程

为方便做模板的朋友特整理的dedecms标签调用大全,大家可以直接ctrl+F搜索定位到需要的内容即可
收藏 0 赞 0 分享
查看更多