dede 调用四级导航
一、修改文件:\include\taglib目录下的channel.lib.php,请将以下代码全部复制替换上述文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
<?php function lib_channel(& $ctag ,& $refObj ) { global $_sys_globals , $envs , $dsql ; $attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|" ; FillAttsDefault( $ctag ->CAttribute->Items, $attlist ); extract( $ctag ->CAttribute->Items, EXTR_SKIP); $innertext = $ctag ->GetInnerText(); $cacheid = trim( $cacheid ); if ( $cacheid != '' ) { $likeType = GetCacheBlock( $cacheid ); if ( $likeType != '' ) return $likeType ; } $reid = 0; $topid = 0; if ( empty ( $typeid ) && $envs [ 'typeid' ]!=0) { $typeid = $envs [ 'typeid' ]; $reid = $envs [ 'reid' ]; } else { $reid =0; } if ( $type == '' || $type == 'sun' ) $type = "son" ; if ( $innertext == '' ) $innertext = GetSysTemplets( "channel_list.htm" ); if ( $reid ==0 && $typeid >0) { $dbrow = $dsql ->GetOne( "Select reid From dede_arctype where id='$typeid' " ); if (<a href= "https://www.baidu.com/s?wd=is_array&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmHDkmWDsnju-nHb1rHTd0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtkPWm4P1nzrH63nWDzrHDzPjcL" target= "_blank" class = "baidu-highlight" > is_array </a>( $dbrow )) $reid = $dbrow [ 'reid' ]; } $likeType = '' ; if ( $type == 'top' ) { $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From dede_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0, $row "; } else if ( $type == "son" ) { //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid']; if ( $typeid ==0) { return '' ; } $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From dede_arctype where reid= '$typeid' And ishidden<>1 order by sortrank asc limit 0, $row "; } else if ( $type == "self" ) { if ( $reid ==0) { return '' ; } $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid= '$reid' And ishidden<>1 order by sortrank asc limit 0, $row "; } //And id<>'$typeid' $needRel = false; $dtp2 = new DedeTagParse(); $dtp2 ->SetNameSpace( "field" , "[" , "]" ); $dtp2 ->LoadSource( $innertext ); $dsql2 = clone $dsql ; $dsql ->SetQuery( $sql ); $dsql ->Execute(); $line = $row ; //检查是否有子栏目,并返回rel提示(用于二级菜单) if ( ereg ( ':rel' , $innertext )) $needRel = true; if ( empty ( $sql )) return '' ; $dsql ->SetQuery( $sql ); $dsql ->Execute(); $totalRow = $dsql ->GetTotalRow(); $GLOBALS [ 'autoindex' ] = 0; for ( $i =0; $i < $line ; $i ++) { if ( $col >1) $likeType .= "<dl>\r\n" ; for ( $j =0; $j < $col ; $j ++) { if ( $col >1) $likeType .= "<dd>\r\n" ; if ( $row = $dsql ->GetArray()) { $row [ 'sonids' ] = $row [ 'rel' ] = '' ; if ( $needRel ) { $row [ 'sonids' ] = GetSonIds( $row [ 'id' ], 0, false); if ( $row [ 'sonids' ]== '' ) $row [ 'rel' ] = '' ; else $row [ 'rel' ] = " rel='dropmenu{$row['id']}'" ; } //处理同级栏目中,当前栏目的样式 if ( ( $row [ 'id' ]== $typeid || ( $topid == $row [ 'id' ] && $type == 'top' ) ) && $currentstyle != '' ) { if ( $currentstyle != '' ) { $linkOkstr = $currentstyle ; $row [ 'typelink' ] = GetOneTypeUrlA( $row ); $linkOkstr = <a href= "https://www.baidu.com/s?wd=str_replace&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmHDkmWDsnju-nHb1rHTd0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtkPWm4P1nzrH63nWDzrHDzPjcL" target= "_blank" class = "baidu-highlight" > str_replace </a>( "~rel~" , $row [ 'rel' ], $linkOkstr ); $linkOkstr = <a href= "https://www.baidu.com/s?wd=str_replace&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmHDkmWDsnju-nHb1rHTd0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtkPWm4P1nzrH63nWDzrHDzPjcL" target= "_blank" class = "baidu-highlight" > str_replace </a>( "~id~" , $row [ 'id' ], $linkOkstr ); $linkOkstr = <a href= "https://www.baidu.com/s?wd=str_replace&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmHDkmWDsnju-nHb1rHTd0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtkPWm4P1nzrH63nWDzrHDzPjcL" target= "_blank" class = "baidu-highlight" > str_replace </a>( "~typelink~" , $row [ 'typelink' ], $linkOkstr ); $linkOkstr = str_replace ( "~typename~" , $row [ 'typename' ], $linkOkstr ); $likeType .= $linkOkstr ; } } else { $row [ 'typelink' ] = $row [ 'typeurl' ] = GetOneTypeUrlA( $row ); if (<a href= "https://www.baidu.com/s?wd=is_array&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmHDkmWDsnju-nHb1rHTd0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtkPWm4P1nzrH63nWDzrHDzPjcL" target= "_blank" class = "baidu-highlight" > is_array </a>( $dtp2 ->CTags)) { foreach ( $dtp2 ->CTags as $tagid => $ctag ){ if (isset( $row [ $ctag ->GetName()])) { $dtp2 ->Assign( $tagid , $row [ $ctag ->GetName()]); } elseif (<a href= "https://www.baidu.com/s?wd=preg_match&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmHDkmWDsnju-nHb1rHTd0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtkPWm4P1nzrH63nWDzrHDzPjcL" target= "_blank" class = "baidu-highlight" >preg_match</a>( '/^sonchannel[0-9]*$/' , $ctag ->GetName())) { $dtp2 ->Assign( $tagid ,lib_channel_son( $ctag , $row [ 'id' ], $dsql2 )); } } } $likeType .= $dtp2 ->GetResult(); } } if ( $col >1) $likeType .= "</dd>\r\n" ; $GLOBALS [ 'autoindex' ]++; } //Loop Col if ( $col >1) { $i += $col - 1; $likeType .= " </dl>\r\n" ; } } //Loop for $i reset( $dsql2 ); $dsql ->FreeResult(); return $likeType ; } function lib_channel_son( $ctag , $typeid = 0, $dsql2 ) { $attlist = "row|100,col|1,currentstyle|" ; FillAttsDefault( $ctag ->CAttribute->Items, $attlist ); extract( $ctag ->CAttribute->Items, EXTR_SKIP); $innertext = $ctag ->GetInnerText(); $dsql3 = clone $dsql2 ; $likeType = '' ; //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid']; if ( $typeid ==0) { return '' ; } $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From dede_arctype where reid= '$typeid' And ishidden<>1 order by sortrank asc limit 0, $row "; //And id<>'$typeid' $dtp2 = new DedeTagParse(); $dtp2 ->SetNameSpace( "field" , "[" , "]" ); $dtp2 ->LoadSource( $innertext ); $dsql2 ->SetQuery( $sql ); $dsql2 ->Execute(); $line = $row ; for ( $i =0; $i < $line ; $i ++) { if ( $col >1) $likeType .= "<dl>\r\n" ; for ( $j =0; $j < $col ; $j ++) { if ( $col >1) $likeType .= "<dd>\r\n" ; if ( $row = $dsql2 ->GetArray()) { $row [ 'typelink' ] = $row [ 'typeurl' ] = GetOneTypeUrlA( $row ); if (<a href= "https://www.baidu.com/s?wd=is_array&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmHDkmWDsnju-nHb1rHTd0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtkPWm4P1nzrH63nWDzrHDzPjcL" target= "_blank" class = "baidu-highlight" > is_array </a>( $dtp2 ->CTags)) { foreach ( $dtp2 ->CTags as $tagid => $ctag ){ if (isset( $row [ $ctag ->GetName()])) { $dtp2 ->Assign( $tagid , $row [ $ctag ->GetName()]); } elseif (<a href= "https://www.baidu.com/s?wd=preg_match&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmHDkmWDsnju-nHb1rHTd0AP8IA3qPjfsn1bkrjKxmLKz0ZNzUjdCIZwsrBtEXh9GuA7EQhF9pywdQhPEUiqkIyN1IA-EUBtkPWm4P1nzrH63nWDzrHDzPjcL" target= "_blank" class = "baidu-highlight" >preg_match</a>( '/^sonchannel[0-9]*$/' , $ctag ->GetName())) { $dtp2 ->Assign( $tagid ,lib_channel_son( $ctag , $row [ 'id' ], $dsql3 )); } } } $likeType .= $dtp2 ->GetResult(); } if ( $col >1) $likeType .= "</dd>\r\n" ; } //Loop Col if ( $col >1) { $i += $col - 1; $likeType .= " </dl>\r\n" ; } } //Loop for $i reset( $dsql3 ); $dsql2 ->FreeResult(); return $likeType ; } ?> |
在模板调用实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
{dede:channel type= 'son' typeid= '3' } [field:typename/] <ul> [field:sonchannel0] <li><a href= "[field:typelink/]" >[field:typename/]</a></li> [field:sonchannel1] <li><a href= "[field:typelink/]" >---[field:typename/]</a></li> [field:sonchannel2] <li><a href= "[field:typelink/]" >===[field:typename/]</a></li> [field:sonchannel3] <li><a href= "[field:typelink/]" >===[field:typename/]</a></li> [/field:sonchannel3] [/field:sonchannel2] [/field:sonchannel1] [/field:sonchannel0] </ul> {/dede:channel} |
dede 调用四级导航的更多相关文章
- dede调用多级导航的方法
<div id="navWrapper"> <div class="content"> <ul class="nav m ...
- dede:channel二级导航currentstyle属性失效问题
dede:channel默认只作用在一级导航中,在调用下级导航(type='son')时,发现不起作用. 修改方法:修改 include/taglib/channel.lib.php 第133行.if ...
- dede调用指定的多个栏目导航
{dede:channelartlist row=' typeid='1,2这里输入多个指定的栏目ID' } <li><a href='{dede:field name='typeu ...
- dede调用二级下拉菜单方法
<div id="menu"> <ul> {dede:channelartlist typeid='top' row='6' orderby='s ...
- dede 调用原图的路径
步骤:1修改include/extend.func.php 添加如下代码: //取原图地址function bigimg($str_pic){$str_houzhi=substr($str_pic,- ...
- dede调用img图片
1.默认的index.htm调用: {dede:arclist row='3' titlelen='30' typeid='1'} <div class="swiper-slide&q ...
- iOS开发----调用地图导航
注意:本文章下的代码有个别变量未知,所以是不能直接跑通的,我也是转别人的 在IOS6.0系统后,兼容iOS5.0与iOS6.0地图导航,需要分两个步骤 #define SYSTEM_VERSION_L ...
- iOS 调用地图导航
在IOS6.0系统后,兼容iOS5.0与iOS6.0地图导航,需要分两个步骤 #define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevic ...
- DEDE调用频道封面{dede:field:content/}内容方法
DEDE怎样在首页调用频道封面页{dede:field:content/}内容的方法,当我们用 织梦DEDECMS 做网站的时候,首页往往会加上关于我们或者企业简介之类的文字,在栏目里 当我们用织梦D ...
随机推荐
- P2680 运输计划
http://www.luogu.org/problem/show?pid=2680#sub 题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 L 国有 n 个星球,还有 n-1 条双向航 ...
- 【Java】聊聊常用的摘要算法,比如MD5
摘要算法的特性 摘要算法的目的的将信息进行简单地摘要,将任意长的信息摘要成固定长的信息.比如MD5,将任意长的信息摘要成128位的摘要. 不可逆的,将报文摘要成一段信息后,无法通过摘要信息还原会报文. ...
- Duilib实现圆形头像控件
.h文件 #ifndef __UIHEADICON_H__ #define __UIHEADICON_H__ /* 名称:圆形头像控件(派生CButtonUI类) */ class CHeadUI: ...
- JQuery多媒体插件jQuery Media Plugin使用详解
malsup jquery media plugin 该插件可以播放多种类型的多媒体文件包括:Flash, Quicktime, Windows Media Player, Real Player, ...
- C#(数据类型)
刚开始学c#!!!
- C++实现有向权图的基本操作,界面友好,操作方便,运行流畅
Ⅰ.功能: .创建图 .展示全图 .添加顶点 .添加边 .删除顶点 .删除边 .查看指定边权值 .修改指定边权值 .输出两点间的所有简单路及路径对应权值 .销毁图 ps:关于9,如果不存在任何简单路, ...
- [HDOJ1231]最大连续子序列
混了好几个地方的博客,还是觉得博客园比较靠谱,于是决定在这里安家落户了.本人本科生一个,希望各位巨巨多多指教~ Hello World! 单独一个象征性的问候实在是太low了,还是决定来点实质性的.. ...
- 对MSP430单片机__delay_cycles精确延时的说明及改正
在这里, 我来讨论一下关于MSP430单片机使用__delay_cycles延时的问题. IAR for MSP430编译器提供了一个编译器内联的精确延时函数(并非真正的函数)以提供用户精确延时使用, ...
- iOS 框架收集
检测硬件设备信息 https://github.com/Shmoopi/iOS-System-Services
- 关于【bootstrap modal 模态框弹出瞬间消失的问题】
前提是你没有重复引入bootstrap.js\bootstrap.min.js和modal.js.一下提供一个小例子. <button class="btnbtn-primary bt ...