|
主题:关于自定义sql函数标签的bug [收藏主题] | 转到: |
支持(0) | 反对(0) 顶端 底部 |
从别的帖子那里 看到的解决方法,具体还没有尝试:
(原帖地址:http://bbs.kesion.com/dispbbs.asp?BoardID=44&replyID=118053&ID=95927&skin=1) ----------------------------------------- 更新到6.0后发现 自定义SQL函数标签 无法使用 “函数参数”如下:{SQL_通用新闻标签(6,20093701568014,ul01)}
原因:是因为在系统读取 SQL标签内容时使用 Str=Rcls.ReplaceGeneralLabelContent(Str) 来替换了标签内的其他函数,导致有“{$”开头的都被替换了,而“函数参数”恰恰是“{$”开头的。
解决的方法就是要修改KS_Cls/Kesion.Label.SQLCls.asp文件 以下内容只有回复后才可以浏览 1、在 Function G_S_P(LabelName,FieldID) 函数下找到 Str=Rcls.ReplaceGeneralLabelContent(Str),在这句上面加上如下代码: str = Replace( str, "{$Param", "#$Param" )
2、在下2行找到 objAtr.Attributes.item(2).Text=Str,在这行的上面加入 str = Replace( str, "#$Param", "{$Param" )
3、保存文件即可 |
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
以下是引用ssbadboy在2009-10-11 9:04:00的发言:
本人理解: {$Param(0)}在程序里面是接收第一个值的意思, {$Param(1)}是接收第二个值
如果你把{$Param(0)}改成{$Param(1)},也就是直接跳过第一个值,而获取第二个值,
当{$Param(1)}出现时,就是系统变成默认了接收两个值,
那么按照我的做法就是:在传递的过程中,也同时设置第一个值,那么怕是空,
你的错误按照我的理解应该是没有同时为sql设置两个值而导致。 可能是我表达不清楚,是sql语句里不能带参数了了,但是循环体里可以带,你不信去测试下。这是个bug。很多人都因为这个问题造成以前写的sql自定义标签不显示了。 |
|
支持(0) | 反对(0) 顶端 底部 |
支持(1) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |