通用方法解决dedecms导航调用二级、三级栏目菜单
博客之前做网站的时候经常会遇到二级菜单、三级菜单。了解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导航调用二级、三级栏目菜单的更多相关文章
- 织梦DedeCMS调用二级子栏目或者多级栏目解决方法
本文是关于织梦DedeCMS调用多级子栏目的,拿来测试分享下.DEDECMS v5.7,后台已建栏目目录,如下图1所示: 图1 DEDECMS后台栏目结构 现在,我们先来调用顶级栏目"站长新 ...
- 织梦DedeCMS调用二级子栏目或者多级栏目的方法
图2 当前栏目typeid值为3,所以代码如下: {dede:channelartlist typeid='3,3'} <a href="{dede:field name='typeu ...
- 织梦(dedecms)循环调用多级子栏目如二级栏目下三级栏目
本文是关于织梦DedeCMS调用多级子栏目的,拿来分享下. 后台已经建好栏目,对于产品展示栏 栏目导航如下图所示: 复制代码 代码如下: {dede:channelartlist cacheid=' ...
- 通用方法解决UITextFiled输入的时候,键盘遮挡问题
我们在用键盘录入的时候,有可能会遮挡录入框,所以我们应调整UIView的位置,使其不被遮挡.我写了一个通用的方法可以解决这个问题:1. [代码][C/C++]代码 - (void) ...
- dede调用二级下拉菜单方法
<div id="menu"> <ul> {dede:channelartlist typeid='top' row='6' orderby='s ...
- HTML+CSS实现导航栏二级下拉菜单完整代码
工具是vs code 代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- 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. ...
- 基于jQuery+ashx+.net实现三级栏目联动操作
父级ID可以为空以两个编号为一级 可以添加到第四级 table 字段有ID. name .parentNode. childNode等基本属性 selecet parentNode ,len(c ...
- dede织梦调用顶级二级栏目及下三级栏目方法(数据库实现)
上次有说道能调用织梦的二级栏目今天来说道说道调用三级,乃至无限极 ①:通过dede调用二级栏目大家都会调用,但要调用三级栏目,就有点麻烦了,如下样式的三级栏目dede如何调用呢?如下: ------- ...
随机推荐
- ubuntu下管理android手机
1.安装adb apt-get install android-tools-adb 2.配置 1)运行lsusb Bus 001 Device 002: ID 8087:0024 Intel Corp ...
- winform 五子棋 判断输赢 分类: WinForm 2014-08-07 20:55 256人阅读 评论(0) 收藏
新手上路,高手勿进! 利用数组,根据新旧数组值的不同,获取那个点是什么棋子: 说明: 棋盘:15*15; 定义4个全局变量: string[,] stroldlist = new string[15, ...
- C:\WINDOWS\system32\drivers\etc\hosts host文件夹里面的内容是什么?
这个文件是根据TCP/IP for Windows 的标准来工作的,它的作用是包含IP地址和Host name(主机名)的映射关系,是一个映射IP地址和Host name(主机名)的规定,规定要求每段 ...
- 关于setLayoutParams报错
有两个可能的原因 1.内部view没有用其parent的LayoutParams在继承BaseAdapter的时候,用getView返回View的时候,用代码控制布局,需要用到View.setLay ...
- PPT扁平化手册 2
- Android 仿PhotoShop调色板应用(三) 主体界面绘制
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 仿PhotoShop调色板应用(三) 主体界面绘制 关于PhotoShop调色板应用的实现我总结了两个最核心的部分: 1 ...
- Python的Ftplib问题:UnicodeEncodeError: 'latin-1' codec can't encode characters的解决方法
ftplib中有一个方法是cwd,用来切换目录,需要传入一个dirname,经过个人测试,该dirname不能含有汉字,会抛出:UnicodeEncodeError: 'latin-1' codec ...
- inverse 相关设置
<set name="students" table = "student" inverse="true"> <!-- 指 ...
- 23、Javascript DOM
DOM Document Object Model(文档对象模型)定义了html和xml的文档标准. DOM 节点树 <html> <head> <title>DO ...
- mysql修改root密码的方法
方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...