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
|
<?phpfunction 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 ...
随机推荐
- loadrunner安装汉化破解
1.解压loadrunner11,点击setup.exe安装loadrunner11. 遇到问题,"...输入命令\来解决". 解决办法:运行解压包的loadrunner-11安装 ...
- BZOJ 2007 海拔(平面图最小割-最短路)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2007 题意:给出一个n*n的格子,那么顶点显然有(n+1)*(n+1)个.每两个相邻顶点 ...
- Android 获取存储空间
package com.example.getMem; import java.io.File; import android.os.Build;import android.os.Bundle;im ...
- axis2通过wsdl生成客户端程序并本地调用
wsdl2java -uri http://10.0.5.12/brm/services/RuleEngine1374389539674484?wsdl -p east.mvc.webservice. ...
- Example of Get_File_Name Function in Oracle Forms
Displays the standard open file dialog box where the user can select an existing file or specify a n ...
- c# 基础之数组(包含三维数组)
public enum ChessType { White = , None=, Black=, } class Program { static void Main(string[] args) { ...
- HTTP消息中header头部信息的讲解
HTTP Request的Header信息 1.HTTP请求方式 如下表: GET 向Web服务器请求一个文件 POST 向Web服务器发送数据让Web服务器进行处理 PUT 向Web服务器发送数据并 ...
- Android中的五大布局和logcat打印日志
在android中的布局有五大类,有的时候你可能用到一种,但有的时候你也可能需要两种或者三种布局同时一起使用.这五种布局为别为:LinearLayout(线性布局),FrameLayout(框架布局) ...
- IP地址匹配
问题描述: 在路由器中,一般来说转发模块采用最大前缀匹配原则进行目的端口查找,具体如下: IP地址和子网地址匹配: IP地址和子网地址所带掩码做AND运算后,得到的值与子网地址相同,则该IP地址与该子 ...
- c++ 临时变量
C++的临时变量 它们是被神所遗弃的孩子,没有人见过它们,更没有人知道它们的名字.它们命中注定徘徊于命运边缘高耸的悬崖和幽深的深渊之间,用自己短暂的生命抚平了生与死之间的缝隙.譬如朝露,却与阳光无缘. ...