|
主题:【2013】孤风大虾回来了!带来超牛逼SQL标签大嵌套教程——看不懂没关系,觉得牛逼就行! [收藏主题] | 转到: |
SQL循环出来的效果。大家先看看。 本教程献给科讯官方。献给所有热爱科讯CMS的朋友们。这个教程有些生涩。如果不仔细研究很容易看晕。仅献给有耐心研究科讯SQL标签的朋友们。客户的站,演示地址不发了。希望大家多多学习多多努力。 以下内容只有回复后才可以浏览,请先登录! ps:本来计划好10楼放这段感谢的。但是被版主强行插入,只能编辑一下主贴了。看来版主热情加精华的份上~我原谅你啦~!~ 华丽复杂的三级栏目循环,请看http://bbs.kesion.com/forumthread-1126365-1.html 另,本项目我重新制作了一个精简优化版的,教程地址:http://bbs.kesion.com/forumthread-1126546.html 两个教程可以参考着看。 |
|
孤风自己开发了一套CMS系统,博采科讯的长处,去除了无关的功能,有兴趣的百度 FengCms | |
支持(0) | 反对(0) 顶端 底部 |
如一楼所示的效果图,我需要把这一块循环出来八次。不重要。下面我来讲解具体怎么做。 首先,要分析,我们可以把这一块内容分成三个部分 1、栏目头。包含1F字样的楼层代码、栏目标题、以及更多链接。 2、栏目的包含的子栏目的导航。 3、切片区。切片区包含两个部分,1、切片的控制区,2切片的显示区。 下面我们一个一个来解决。 1、我们要做一个SQL标签,这个标签读取产品栏目子类并循环,利用{$AutoID},可以制作1F这样的楼层效果。 2、子栏目导航,还是读取栏目表,根据传递的TN值,来获取子栏目。这个懂SQL的都简单。 3、切片控制区。这里读取前5个子栏目的名称,并在这里控制。由于第一个class不一样,所以需要用到判断。也是读取蓝目标,和子栏目导航类似。 4、切片内容区。这里是读取5个子栏目所包含的内容。我准备分为两步走,首先,将外框循环出来,然后再做一个SQL标签,来分别读取内容。外框就简单了,和3一样的查询代码,一样的判断。 5、里面的内容,可以根据TN值查找内容表的TID值,相等的就查出来。这个没有问题。问题是,如果子栏目还有子栏目怎么办,这是困扰我的问题。当然,我找到了解决方案。大家可以往下看。 6、切片要用JS控制。因此,每一个JS都需要有单独不重复的ID。正好顶级栏目的ID是唯一的,就它了。放在最外层的SQL标签里面就行。(此JS是用的科讯自带的。关于切片的更多介绍,请参考http://bbs.kesion.com/forumthread-80117.html) ============== 仔细分析一下,迅速的把这个整体解体,立马就得到了清晰的结构。然后逐一实现就可以了! |
|
支持(0) | 反对(0) 顶端 底部 |
本教程不涉及DIV+CSS部分的详细讲解,请自行查看。css代码如下:
|
|
支持(0) | 反对(0) 顶端 底部 |
首先,我们新建一个“首页大循环外”的SQL标签。 查询语句如下:
构建好查询语句,就该是循环代码了。
好,循环代码结束 |
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
首页大循环内切片导航的制作 查询语句如下:
循环语句如下:
其实这个和上面的循环子栏目是一个意思。只不过是显示方式不同而已。另外,上面需要查询所有的子栏目,所以查询数量为30。因为目前没有哪个栏目的子栏目大于30。因此,只要是30就可以了。 而这里,我们的切片区域只有5块切片,也就是说,我们只要读取最前面的五个栏目的内容即可。因此,只需要循环5下即可。 另外,因为切片的特殊性,需要第一个与后面的li的class是不一样的。因此,我们需要用到一个判断。很好,科讯支持。判断代码如下:
{$AutoID}是自动+1赋值。前面的总循环也用到了。1f 2f 3f 这样的楼层就是用的这个。在这里用做判断。 当{$AutoID}=1的时候,就是active的样式。否则,就是normal样式。 注意,大小写不能错。错了就不行。为这个大小写我折腾了半个小时。靠。 |
|
支持(0) | 反对(0) 顶端 底部 |
首页大循环内切片内容外框的制作 查询语句如下:
循环语句如下:
其实这个,和上面的代码差不多。都是查询子栏目。不过在这里,增加了一个首页大循环内容列表的子栏目内容的SQL标签。 当然,这里也加了判断代码
和上面的判断代码,其实是一样的。当=1时,给一个样式。不是则给另一个样式。 下面就是最最关键的了。见证奇迹的时刻。 |
|
支持(0) | 反对(0) 顶端 底部 |
首页大循环内容列表的制作 如果子栏目下没有子栏目的查询语句:
其实这没什么难度,懂SQL标签的都能做出来的。但是,如果这样的话,就没必要发教程了。我遇到的是一个无比变态的网站——有1500多个产品栏目。也就是说,在这些子栏目下面,居然还有子栏目。那么,用上面的这个就无法办到了。 怎么办呢?这个问题困扰了我一整天。因为我不懂程序代码,所有的东西都是靠逻辑推理。但是,不重要,我朋友多嘛。在找了一个ASP程序员朋友帮忙之下,我解决了这个问题。其实,在他看来这个问题不难。但是他没用过科讯CMS系统,因此,我和他解释这个问题花了2个小时。 最终,是使用了跨表查询的方法,解决了这个查询语句,代码如下:
需要注意的是,因为class表中,和我自建的cpxt表中,都有一个字段,叫做ID,所以导致我弄了半天还是出错。最后加了改名,才得意成功。就是KS_Class.ID as KS_Classid这句。 循环代码如下:
好了。问题解决了。其实,关键的关键,是最后的这个跨表查询。 |
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |