关于Web_reg_save_param的一个BUG说明
土匪太懒了,于是我又有机会出来说点东西了,情况是这样的。在土匪某一次上课中遇到一个奇怪的问题,通过关联函数web_reg_save_param关联内容,当使用ord=all时可以看到匹配的内容有2条记录,但是当修改ord=2时,脚本关联提示没有匹配的记录条数,然后这个问题就让人崩溃了,完全不符合以前的理解概念啊。于是在土匪孜孜不倦、春风吹战鼓擂、天热不怕光脚等等下,终于找到了问题之所在。
触发这个问题的情况需要满足以下条件,首页A请求会扩展调用A1,A2两个资源,我们需要关联的内容例如是(土匪)存在与A与A1页面中,但A2没有
关联参数叫做paramarr关联边界是LB=(土匪 RB=)
A(土匪很淫荡)
+---------A1 (土匪很风骚)
+---------A2没有匹配项
所以使用ORD=ALL时应该会返回这样的内容
paramarr_1="很淫荡"
paramarr_2="很风骚"
但是修改为ord=2时就会错误,导致这个问题的原因是在于LR的web_reg_save_param函数是递归搜索资源的,关联会从A开始,然后A1,A2,在ALL的时候没有任何问题,但是当选择ord=1时就会出现问题。问题在于ord=1的值应该是“很风骚”而不是“很淫荡”(也可能反过来记不太清楚了,土匪口述忘了),其实就是后一个会覆盖前一个的情况,在这中状态下,自然Ord=2就没有匹配记录了。这个问题可以通过新版本的web_reg_save_param_ex中的Url来过滤回避。
总的来说,其实这个也不能说是个BUG,有些标题党,而是关联函数在使用中的一个细节原理而已,希望对遇到这个问题而不求甚解的朋友有点帮助。 哈哈,土匪上课说过这个问题,真犀利! 顶!习惯用web_reg_save_param_ex() web_reg_save_param_ex
也存在这个问题,所以在中间加入了request_url属性来修复。 我靠,你终于找回ID了啊。。。
页:
[1]