博客之前做网站的时候经常会遇到二级菜单、三级菜单。了解dede的人都知道从5.5版本开始都有二级菜单的调用方法了,网上也有不少的教程文章。不过这个调用需要修改dede源码的二级菜单样式。个人感觉不是很方便,所以在这里博主整理了一些比较实用的调用方法分享给大家,也希望对大家有所帮助。

一、先说下顶级菜单的调用吧

该类栏目的dedecms调用方法比较简单,如下:

{dede:channel type='top' currentstyle="~typename~ "}

  • [field:typename/]
  • {/dede:channel}

  注释(参数): typeid='0' 栏目ID; reid = '0' 上级栏目ID; row = '100' 调用栏目数; col = '1' 分多少列显示(默认为单列);type = 'son | sun' son表示下级栏目,self表示同级栏目,top顶级栏目; currentstyle = '' 应用样式"。

  这种方法会把后台的顶级栏目都调用出来,如果想有些栏目不被调用出来,可以加上参数typeid=‘所要调用栏目的id’。对于调用指定的栏目可以用下面的标签:

{dede:type typeid=‘指定栏目的id’}[field:typename /]{/dede:type}

二、 带有二级子栏目的栏目的调用,这类网站用于信息分类比较多的网站,其样式图如下:

  这种栏目是比较常见的,其dedecms调用代码如下:

{dede:channelartlist typeid='1,2,3,6,7,10,8,11' row='10'}    //typeid=‘顶级栏目的id’

{dede:field name='typename'/}

{dede:channel type='son' noself='yes'}

[field:typename/]

{/dede:channel}

{/dede:channelartlist}

  对于没有子栏目的顶级栏目可以使用调用指定栏目的标签:

{dede:type typeid=‘指定栏目的id’}

  • [field:typename /]
  • {/dede:type}

  这样可以实现上述栏目的调用。

三、有三级子栏目的调用代码,这类导航适用于商城等,其样式图如下:

  对于这种栏目的调用代码如下:

  • {dede:type typeid='2'}[field:typename/]{/dede:type}  //顶级栏目的调用

    {dede:channelartlist typeid='top'  typeid='2'}   //二级栏目和三级栏目的调用这里typeid='子栏目所属的顶级栏目的id'

  • {dede:field name='typename'/}
    • {dede:sql sql='Select * from dede_arctype where reid=~id~  ORDER BY id limit 0,20'}  //limit 起始三级栏目id  显示栏目的条数

    • [field:typename/]
    • {/dede:sql}

  • {/dede:channelartlist}

一般网站最多也只有三级栏目,在大家实际应用的实用只需要把代码复制进去,调用相对应的参数即可。好了,今天的分享就到这里。博主还有很多好的资源等待与您的见面。希望大家继续关注张路博客文摘,莱蒂斯俺的箭头们,下期再见~~

完整实例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index</title>
<link href="{dede:global.cfg_templets_skin/}/images/css.css" rel="stylesheet" type="text/css" />
</head>

<body>
<li>
       {dede:type typeid='53'}<a href='[field:typelink/]' class="depth_1">顶级[field:typename/]</a>{/dede:type}
       <ul class="children" style="display:block; ">

{dede:channelartlist typeid='top'  typeid='53'}

<li><h3 ><a href='{dede:field name='typeurl'/}' class="depth_2"><span class="icon10"></span>二级{dede:field name='typename'/}</a></h3>                  <ul>
                          {dede:sql sql='Select * from dede_arctype where reid=~id~  ORDER BY id limit 00,20'}
                          <li><a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]"  class="depth_3">三级[field:typename/]</a></li>
                          {/dede:sql}
                         </ul>
                   </li>
                  {/dede:channelartlist}
                  </ul>               
</li>
</body>
</html>

通用方法解决dedecms导航调用二级、三级栏目菜单的更多相关文章

  1. 织梦DedeCMS调用二级子栏目或者多级栏目解决方法

    本文是关于织梦DedeCMS调用多级子栏目的,拿来测试分享下.DEDECMS v5.7,后台已建栏目目录,如下图1所示: 图1 DEDECMS后台栏目结构 现在,我们先来调用顶级栏目"站长新 ...

  2. 织梦DedeCMS调用二级子栏目或者多级栏目的方法

    图2 当前栏目typeid值为3,所以代码如下: {dede:channelartlist typeid='3,3'} <a href="{dede:field name='typeu ...

  3. 织梦(dedecms)循环调用多级子栏目如二级栏目下三级栏目

    本文是关于织梦DedeCMS调用多级子栏目的,拿来分享下. 后台已经建好栏目,对于产品展示栏 栏目导航如下图所示:  复制代码 代码如下: {dede:channelartlist cacheid=' ...

  4. 通用方法解决UITextFiled输入的时候,键盘遮挡问题

    我们在用键盘录入的时候,有可能会遮挡录入框,所以我们应调整UIView的位置,使其不被遮挡.我写了一个通用的方法可以解决这个问题:​​1. [代码][C/C++]代码         - (void) ...

  5. dede调用二级下拉菜单方法

    <div id="menu">    <ul>  {dede:channelartlist typeid='top'  row='6' orderby='s ...

  6. HTML+CSS实现导航栏二级下拉菜单完整代码

    工具是vs code 代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  7. js实现网站导航的二级下拉菜单

    http://www.codesky.net/article/201109/1200js/%E5%AE%9E%E7%94%A8%E5%AF%BC%E8%88%AA%E8%8F%9C%E5%8D%95. ...

  8. 基于jQuery+ashx+.net实现三级栏目联动操作

    父级ID可以为空以两个编号为一级 可以添加到第四级 table 字段有ID. name .parentNode. childNode等基本属性  selecet  parentNode  ,len(c ...

  9. dede织梦调用顶级二级栏目及下三级栏目方法(数据库实现)

    上次有说道能调用织梦的二级栏目今天来说道说道调用三级,乃至无限极 ①:通过dede调用二级栏目大家都会调用,但要调用三级栏目,就有点麻烦了,如下样式的三级栏目dede如何调用呢?如下: ------- ...

随机推荐

  1. linux trap

  2. The Fortified Forest - POJ 1873(状态枚举+求凸包周长)

    题目大意:有个国王他有一片森林,现在他想从这个森林里面砍伐一些树木做成篱笆把剩下的树木围起来,已知每个树都有不同的价值还有高度,求出来砍掉那些树可以做成篱笆把剩余的树都围起来,要使砍伐的树木的价值最小 ...

  3. unique mapped reads

    就是指唯一比对的reads 现在人们已经开始避免使用unique mapped reads这个概念了,而转向使用mapq值来保留高质量的比对结果.因为mapq值反应了一组比对结果发生的可能性,MapQ ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用 我相信目前国内富文本编辑器中KindEditor 属于前 ...

  5. 排序算法c语言描述---堆排序

    排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析. 文章规划: 一.通过自己对排序算法本身的理解,对每个方法写个小测试程序.具体思路分析不 ...

  6. Phonegap(Cordova)3.4 + Android 环境搭建

               PhoneGap是一个用基于HTML.CSS和JavaScript的,创建移动跨平台移动应用程序的高速开发平台. 它使开发人员可以利用iPhone,Android,WP7等多 ...

  7. 动态设置布局LayoutInflater

    LayoutInflater作用是将layout的xml布局文件实例化为View类对象.LayoutInflater 的作用类似于 findViewById(),不同点是LayoutInflater是 ...

  8. svn 树冲突

    情况类似如下:(其中 removed_directory 是你工作的某个目录)  代码如下 复制代码 $svn statusD     C removed_directory>   local ...

  9. Linux下长时间ping网络加时间戳并记录到文本(转)

    [root@test ~]# ping 192.168.2.1 -c 10 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.64 bytes f ...

  10. CentOS 6.7增加SWAP交换分区

    任务:新增一个1GB的SWAP分区,并开机自动挂载 1.在/var目录下新增SWAPFILE交换区文件 2.生成SWAP分区 mkswap /var/SWAPFILE 3.激活SWAP分区 swapo ...