|
主题:[高级教程三]自定义sql标签嵌套sql标签实现循环栏目列表效果 [收藏主题] | 转到: |
大家好! 一段时间没有给大家讲高级教程了,今天刚好商业区的管理员说有用户需要这方面的需求,问我如何实现!其实也不难.我就给大家做个教程吧! 用过科汛系统函数标签的"循环显示栏目文章标签"的用户可能就知道这个标签有一定的局限性,样式无法自己控制.往往无法满足自己的需求.现在我就教大家用sql标签来实现类似效果的制作方法 正如标题所说需要sql标签嵌套调用,但考虑到系统生成速度方面原因,默认情况下科汛的sql标签是不支持嵌套调用的,那我们就对科汛的代码进行小手术.请跟我来吧
第一步:对代码进行小手术(说明,升级到5.03的用户无需要自行修改代码)
用dw等编辑工具打开KS_Cls/Kesion.Label.CommonCls.asp文件,并找到约112左右的如下代码 Dim DCls:Set Dcls=New DIYCls ReplaceAllLabel=DCls.ReplaceUserFunctionLabel(Content) Dim DCls:Set Dcls=New DIYCls If Instr(Content,"{SQL_")<>0 Then 相信有点asp代码基础的用户都可以看得明白,就是当模板文件里包括{SQL_开头时,就再一次执行sql标签替换操作.正如之前说的,考虑到生成速度方面原因.如果模板里不包含{SQL_就不再替换了,所以这里的If判断对系统的性能有一定的作用.因为我们并不要求所有标签都要嵌套的.
第二步:分析实现
制作被嵌套的文章列表(查询KS_Article表): sql标签名称:文章循环体 sql参数: 栏目ID sql语句:select top 10 id,title,adddate from ks_article where tid='{$Param(0)}' order by id desc sql循环体: [loop=10]
制作栏目列表标签(查询KS_Class栏目表)
sql标签名称:循环栏目列表 sql语句:select top 10 id,FolderName from ks_class where tn='{$CurrClassID}' order by folderOrder sql循环体: <table border="0" width="100%">
tips:上面红色就是插入上面制作的文章列表标签,参数{$Field(id,GetInfoUrl,100,2)}表示生成栏目ID号
第三步:模板调用
{SQL_循环栏目列表()}
|
|
支持(1) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
shuangrong 发表于:2009/6/6 10:05:00 | 只看该作者 查看该作者主题
地板
|
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |