账号通
    

账号  

密码  

2100

查看

4

回复
主题:二次开发科汛, 新增SQL标签"{$SQLReplace}"用以取代asp的函数split [收藏主题] 转到:  
linksy 当前离线

188

主题

0

广播

1

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

用户积分:2516 分
登录次数:158 次
注册时间:2007/6/14
最后登录:2015/12/16
linksy 发表于:2009/5/2 9:08:00   | 只看该作者 查看该作者主题 楼主 
科汛在线网校系统

需求说明


有时我们需要通过SQL标签调用栏目的介绍(classbasicinfo)及自定义内容(classdefinecontent),他们的结构是用这种方式存储的"a|||b|||c",这个时间,如果我们需要其中的一项,就需要split函数,而科汛没有提供,为此特意二次开发


代码修改:Kesion.Label.SQLCls.asp


 


示例:{$SQLReplace({$Field(ClassDefineContent,Text,0,0,2,)},||||,0)}


 


参说说明:参数1是为要拆分的内容,参数2是拆分的分割符,参数3是取第几位,注意是以0开始的


 


找到大约350行,增加以下红色部分


 


    End If
     KS_RS_Obj.MoveNext
   Next
  GetCirLabelContent=MySplitField(GetCirLabelContent)
  End Function


 


  Function MySplitField(lpFieldValue)
   Dim regEx, Matches, Match
   Dim FieldParam,FieldParamArr,mytempValue,mytempNum,mytarget,templpFieldValue
   Set regEx = New RegExp
   regEx.Pattern = "{\$SQLReplace\([^{\$}]*}"
   regEx.IgnoreCase = True
   regEx.Global = True
   Set Matches = regEx.Execute(lpFieldValue)  
   For Each Match In Matches
    FieldParam    = Replace(Replace(Match.Value,"{$SQLReplace(",""),")}","")
    FieldParamArr = Split(FieldParam,",")
    mytempValue=split(replace(Replace(KS.LoseHtml(KS.HtmlCode(FieldParamArr(0)))," ","")," ",""),trim(FieldParamArr(1)))
 if ubound(mytempValue)>=cint(FieldParamArr(2)) then lpFieldValue=Replace(lpFieldValue,Match.Value,mytempValue(FieldParamArr(2)))
   Next
     MySplitField=lpFieldValue
  End Function


 


调用说明:


SQL语句:select top {$Param(0)} classid,id,foldername,ClassDefineContent from ks_class where tn='{$Param(1)}' and topflag=1 order by folderorder asc


 


循环部分:<dl>[loop={$Param(0)}]<dt>{$SQLReplace({$Field(ClassDefineContent,Text,0,0,2,)},||||,0)}【<a href="{$Field(id,GetInfoUrl,100,1)}">{$Field(foldername,Text,0,...,0,)}</a>】</dt><dd>{SQL_疾病导航内部(10,{$Field(id,GetInfoUrl,100,2)})}</dd>[/loop]</dl>


 


 


演示:


http://www.aqnanke.com/html/list_585.html

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

1713

主题

8

广播

2

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

用户积分:10077 分
登录次数:395 次
注册时间:2006/7/18
最后登录:2018/8/10
cyxjq 发表于:2009/5/5 8:56:00   | 只看该作者 查看该作者主题 沙发 
科汛在线网校系统
以下是引用一生有你在2009-5-2 9:41:00的发言:
lz平均每周发一次这样的代码,感觉像做广告.

这个应该支持!

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

188

主题

0

广播

1

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

用户积分:2516 分
登录次数:158 次
注册时间:2007/6/14
最后登录:2015/12/16
linksy 发表于:2009/5/5 8:31:00   | 只看该作者 查看该作者主题 藤椅 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
一生有你 当前离线

10439

主题

0

广播

18

粉丝
添加关注
级别:版主

用户积分:72521 分
登录次数:1969 次
注册时间:2006/7/1
最后登录:2021/8/25
一生有你 发表于:2009/5/2 9:41:00   | 只看该作者 查看该作者主题 板凳 
科汛智能建站系统
lz平均每周发一次这样的代码,感觉像做广告.
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
linksy 当前离线

188

主题

0

广播

1

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

用户积分:2516 分
登录次数:158 次
注册时间:2007/6/14
最后登录:2015/12/16
linksy 发表于:2009/5/8 8:35:00   | 只看该作者 查看该作者主题 报纸 
科汛在线商城系统(NET)

不好意思,让大家多学学

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.26563秒 powered by KesionCMS 9.0