账号通
    

账号  

密码  

11368

查看

22

回复
主题:[分享]V6.x用sql标签实现折叠树形菜单教程 [收藏主题] 转到:  
xiaokong_cool 当前离线

264

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:277 分
登录次数:147 次
注册时间:2010/7/3
最后登录:2014/6/18
xiaokong_cool 发表于:2011/9/1 16:19:33   | 只看该作者 查看该作者主题 21楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
giacinta_yliu 当前离线

133

主题

1

广播

0

粉丝
添加关注
级别:一年级

用户积分:173 分
登录次数:102 次
注册时间:2012/3/6
最后登录:2012/11/12
giacinta_yliu 发表于:2012/4/9 17:52:25   | 只看该作者 查看该作者主题 22楼 
科汛智能建站系统

没有单文章   新闻中心  能点到 国内新闻   但国内就不能再点到具体的新闻了   只是用新闻打个比方   实际上新闻比较多么必要这样

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
xiaokong_cool 当前离线

264

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:277 分
登录次数:147 次
注册时间:2010/7/3
最后登录:2014/6/18
xiaokong_cool 发表于:2013/4/1 16:49:23   | 只看该作者 查看该作者主题 23楼 
以下是引用 科汛官方在2010-2-10 10:22:00的发言:

在V5.5版本时候我有整理过一篇这样的教程(见http://bbs.kesion.com/dispbbs.asp?boardid=41&Id=72904),但由于V6.x版本栏目结构重新设计,相应的sql语句需要适当的修改,今天我给大家重新整理一下,以下标签适合V6.x的所有版本,包括刚发布的V6.5版本







实现原理:sql标签的嵌套使用







效果类似如下:







点击查看原图







我们仍以三级结构为例说明







步骤如下:





1、下载文件夹dtree到网站根目录下images文件夹里:







点击浏览该文件:dtree.rar







2、在需要调用树型菜单的模板页<head></head>之间调用:



<link href="images/dtree/dtree.css" type=text/css rel=StyleSheet>



<script type="text/javascript" src="images/dtree/dtree.js"></script>







3.创建sql标签



   因为我们需要实现三级结构的栏目,所以需要创建三个sql标签,我们分别取名为:三级栏目,二级栏目,一级栏目







   以下为对应的sql标签创建实例











标签名称:三级栏目



sql语句:SELECT TOP 20 ID,FolderName,TN FROM KS_Class Where TN='{$Param(0)}' ORDER BY Root,FolderOrder



循环体:



[loop=15]

d.add({$Field(ID,GetInfoUrl,100,2)},{$Param(0)},'{$Field(FolderName,Text,0,...,0,)}','{$Field(ID,GetInfoUrl,100,1)}');

[/loop]









标签名称:二级栏目



sql语句:







SELECT TOP 15 ID,FolderName,TN FROM KS_Class Where TN='{$Param(0)}' ORDER BY root,FolderOrder







循环体:



[loop=15]

d.add({$Field(ID,Text,0,...,0,)},{$Param(0)},'{$Field(FolderName,Text,0,...,0,)}','{$Field(ID,GetInfoUrl,100,1)}');



{SQL_三级栏目({$Field(ID,GetInfoUrl,100,2)})}

[/loop]







标答名称:一级栏目



sql语句:



SELECT TOP 15 ID,FolderName,TS,TN FROM KS_Class Where  tj=1 ORDER BY root,FolderOrder



循环体:







<script type="text/javascript">  

       <!--   

       d = new dTree('d');   

       d.add(0,-1,'全站导航');

[loop=15]

       d.add({$Field(ID,Text,0,...,0,)},0,'{$Field(FolderName,Text,0,...,0,)}','{$Field(ID,GetInfoUrl,100,1)}');

{SQL_二级栏目({$Field(ID,Text,0,...,0,)})}

[/loop]

       document.write(d);

       //-->  

</script>











从上面的sql语句中我们可以看出,以之前v5.5版本讲的主要是排序字段不同.我们在V6.x版本里应该改为 order by root,folderorder







最后我们在模板里通过以下形式调用,并发布即可







调用时:{SQL_一级栏目()}











特别说明:



1.所有的sql标签都要选择非ajax方式输出



2.更多级栏目导航原理都是一样的.但建议一般栏目不要设置得太深,一方面对搜索引擎不友好,另一方面栏目太深可能运行效率也会有所下降,一般以二级,三级为佳







应用你的sql语法、我自己做了个栏目、但有点问题、有的栏目是 三个级别的栏目、有的是 两个级别 的栏目、两个级别的栏目下就就会提示 没有记录、请我怎么弄?

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
oitk 当前离线

156

主题

0

广播

0

粉丝
添加关注
级别:一年级

用户积分:1062 分
登录次数:108 次
注册时间:2006/12/13
最后登录:2016/1/11
oitk 发表于:2013/5/22 17:26:40   | 只看该作者 查看该作者主题 24楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.12500秒 powered by KesionCMS 9.0