小李SEO博客

网站优化服务

织梦cms获取任意栏目N级列表链接树形菜单

在织梦DEDECMS里获取顶级栏目很简单,一句 {dede:channel}{/dede:channel} 即可搞定。但有时我们需要在任意页面获取任意顶级栏目下的二级和san级栏目列表的链接, {dede:channel} 就无能为力了。注意,我说的是在“任意”(首页、封面、列表、文章等)页面调用“任意”二或san级栏目列表。OK,一步步来,先第一个。(适用织梦dedecmsV4,V5.X未测试。)感谢双赢朋友帮忙测试。原来的函数在某些主机上进行生成html操作会提示 inc_channel_unit_functions.php 出错,现已改正。

一、在任意页面获取某顶级栏目下的二级栏目列表。例如,我们要在首页或其他页面插入 产品展示 这个顶级栏目的下级栏目列表,

1、在 /include/inc_functions.php 最后的?> 前加入以下代码://在任意页面获取某顶级栏目下的二级栏目列表 用于channel标记 $typeid为顶级栏目ID;function getProductClass($typeid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("select typedir,typename 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);$linkList .= "<li>·<a href="$typelink">".$row->typename."</a></li>n ";}$dsql->Close();return $linkList;}

2、在模板里用;{dede:channel function=’getProductClass(2)’}{/dede:channel}调用即可。这里getProductClass(2)中的 2 是产品展示的栏目ID。如果你的是其他的,请作相应修改。

3、伪静态的话请用以下代码://在任意页面获取某顶级栏目下的二级栏目列表 用于channel标记 $typeid为顶级栏目ID (用于伪静态)function getProductClass($typeid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("select ID,typename 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);$linkList .= "<li>·<a href="/list-".$row->ID.".html">".$row->typename."</a></li>n ";}$dsql->Close();return $linkList;(DEDECMS全站伪静态请看这里:DEDECMS全站(首页、列表、文章页)伪静态详细教程)

二、在任意页面获取某顶级栏目下的二级栏目和san级栏目列表(树形菜单)这里其实是取得一个树形菜单,共两级,如要多级的话,请自行参照修改。

1、在 /include/inc_functions.php 最后的 ?> 前加入以下代码://在任意页面获取某顶级栏目下的二级栏目和san级栏目列表 用于channel标记 $typeid为顶级栏目IDfunction getProductTree($typeid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("select ID,typedir,typename 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);$linkList .= "n<li><a href="$typelink"><b>".$row->typename."</b></a></li>nn";$linkList .= getSonClass($row->ID);}$dsql->Close();return $linkList;}//获得小类栏目链接function getSonClass($parentid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("Select ID,typedir,typename 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);$linkList .= "<li class="smallclass"><a href="$typelink">".$row->typename."</a></li>n";}return $linkList;}

2、在模板里用{dede:channel function=’getProductTree(2)’}{/dede:channel}调用即可。这里getProductTree(2)中的 2 是产品展示的栏目ID。如果你的是其他的,请作相应修改。

3、产生的代码如下:<li><a href="/product/ac-dc/"><b>AC/DC开关电源</b></a></li><li class="smallclass"><a href="/product/ac-dc/1-way/">一路输出10W-350W</a></li><li class="smallclass"><a href="/product/ac-dc/2-way/">二路输出15W-200W</a></li><li class="smallclass"><a href="/product/ac-dc/3-way/">三路输出15W-200W</a></li><li class="smallclass"><a href="/product/ac-dc/4-way/">四路输出30W-200W</a></li><li><a href="/product/dc-dc/"><b>DC/DC开关电源</b></a></li><li class="smallclass"><a href="/product/dc-dc/1-way/">一路输出10W-200W</a></li><li class="smallclass"><a href="/product/dc-dc/2-way/">二路输出10W-150W</a></li><li class="smallclass"><a href="/product/dc-dc/3-way/">三路输出10W-150W</a></li><li class="smallclass"><a href="/product/dc-dc/4-way/">四路输出10W-150W</a></li>在CSS里你就可以对 .smallclass 设置样式,如不同背景和缩进等。更新:

4、伪静态的话请用以下代码:/*——————————————————在任意页面获取某顶级栏目下的二级栏目和san级栏目列表 用于channel标记 (用于伪静态)——————————————————*///获得大类栏目链接function getProductTree($typeid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("select ID,typename from dede_arctype where reID = ‘$typeid’ order by sortrank");$dsql->Execute();while($row=$dsql->GetObject()){$linkList .= "n<li><a href="/list-".$row->ID.".html"><b>".$row->typename."</b></a></li>nn";$linkList .= getSonClass($row->ID);}$dsql->Close();return $linkList;}//获得小类栏目链接function getSonClass($parentid){$linkList = "";$dsql = new DedeSql(false);$dsql->SetQuery("Select ID,typename From dede_arctype where reID=’$parentid’ order by sortrank");$dsql->Execute($parentid);while($row=$dsql->GetObject($parentid)){$linkList .= "<li class="smallclass"><a href="/list-".$row->ID.".html">".$row->typename."</a></li>n";}return $linkList;}(DEDE全站伪静态请看这里:DEDECMS全站(首页、列表、文章页)伪静态详细教程)最诱人的更新:

三、在任意页面获取顶级栏目和二级栏目列表:1、在 /include/inc_functions.php 最后的 ?> 前加入以下代码:加入第二点[二、在任意页面获取某顶级栏目下的二级栏目和san级栏目列表(树形菜单)]的两个函数,然后把第一个函数 function getProductTree($typeid)里的:select ID,typedir,typename from dede_arctype where reID = ‘$typeid’order by sortrank改为:select ID,typedir,typename from dede_arctype where reID = ’0′ order by sortrank就是把 $typeid改为0。2、在模板里用{dede:channel function=’getProductTree()’}{/dede:channel}调用即可。3、你可举一反三做成N级栏目列表调用,具体我不写了。看到这里,你是不是有什么想法?对了,可以参照这里改一下做二级滑动导航栏!


上一篇:织梦cms后台反应特别慢点击就卡住解决办法 下一篇:dedecms实现无觅相关文章功能
织梦cms相关文章阅读
  • 织梦cms给channel增加limit属性

    小李网络公司介绍织梦cms给channel增加limit属性知识,包括让织梦DedeCMS的channel标签支持limit属性_dkrwzxs的专栏-...帝国cms和织梦哪个好limit中文cms是什么意思啊织梦cms建站教程cms内容管理系统织梦 建...

  • 织梦cms列表调用标签及标签随机颜色

    小李网络公司介绍织梦cms列表调用标签及标签随机颜色知识,包括织梦标签教程dedecms代码调用dedecms调用htmldedecms三大标签dedecms调用模板dedecms调用教程dedecms调用页面dedecms调用样式....

  • 织梦cmsRSS文件提示URL错误的解决办法

    小李网络公司介绍织梦cmsRSS文件提示URL错误的解决办法知识,包括织梦dedecms教程织梦数据库文件在哪织梦cms建站教程dedecms织梦系统织梦怎样实现文件上传织梦文章模板调用文件织梦的配置文件织...

  • 织梦cms文章审核后给会员增加积分金币的方法

    小李网络公司介绍织梦cms文章审核后给会员增加积分金币知识,包括织梦cms布文章审核后加积分/金币的方法 - 百度经验,dedecms会员订单;织梦cms会员vip插件;dedecms模板带会员;dedecms判断会员;dedecms调...

  • 织梦cms管理系统5.1升级到5.5版本教程

    小李网络公司介绍织梦cms管理系统5.1升级到5.5版本教程知识,包括个人经验分享优秀经验分享手机如何升级到最新版本个人安全经验分享工作经验分享员工经验分享怎么升级到安卓10怎么升级到最...

  • 织梦cms文本字段限制字数方法

    小李网络公司介绍织梦cms文本字段限制字数方法知识,包括织梦DedeCMS自定义多行文本字段限制字数的方法详解_网站技...如何解决织梦DedeCms文章标题字数长度限制的方法教程 - 赵......

  • 织梦cms自定义表单增加全选及全不选的功能按钮

    小李网络公司介绍织梦cms自定义表单增加全选及全不选知识.包括 DedeCMS的自定义表单增加"全选/全不选"的功能按钮_织梦58.自定义表单系统自定义表单 数据库设计自定义表单设计自定义 表单自定...

  • 织梦cms网站tag标签伪静态实现方法

    小李网络公司介绍织梦cms网站tag标签伪静态实现方法知识,包括iis url重写规则织梦伪静态2003iis伪静态组件织梦仿站教程傻瓜式织梦伪静态助手url重写模块iis8wordpress用iisiis增加伪静态之梦l插件...

  • 织梦cms修改模板默认CSS文件分析全过程

    小李网络公司介绍织梦cms修改模板默认CSS文件知识,包括DedeCMS修改模板默认CSS文件分析全过程_网站技巧_织梦361,教学过程万能模板转发上级文件通知模板教学过程怎么写模板任职文件模板....

  • 织梦cms如何用dede:type和sql语句调用指定栏目内容描述

    小李网络公司介绍织梦cms用dede:type和sql语句调用指定栏目知识,包括织梦dede建站教程视频dede仿站网dede整站更新dede主页dedecmsdedefielddede整站模板dede模板站dede标记教程仿织梦dede58源码织梦 建站....

  • 织梦cms网站search.php报错解决方法

    小李网络公司介绍织梦cms网站search.php报错解决方法知识,包括DEDECMS plus\search.php on line 44 search.php报错_织梦58,gad line studiofineplusphpsession使用锐界plus和stline悬挂st和st line锐界plus和stline锐界plus和st...

  • 织梦cms5.7后台添加文章出现重复内容

    小李网络公司介绍织梦cms5.7后台添加文章出现重复内容知识,包括织梦列表文章标题重复显示解决方法 - 百度经验,织梦文章列表调用出现重复现象如何解决-518主题巴士,织梦dedecms禁止发布重复文...

SEO公司排名
 
QQ在线咨询
SEM竞价推广
137-1296-7640
SEO优化外包
137-1296-7640