不知道大家注意到了没有,ECSHOP的验证码设置有一个BUG,6 g9 n. ]( r! i$ Z l. C
那就是 “用户登录”和“发表评论”的验证码设置是相冲突的。
. ?1 Q, R4 C" @2 T
, Y2 i/ C- d( G _具体现象为:- J, T7 E! l8 X6 L8 d8 y! f
0 q! l* ~; G# }$ D5 k
进入 “后台 》系统设置 》验证码管理”,
% Z8 d5 X- A- F$ J勾选“用户登录”, 不勾选“发表评论”,
1 ^/ ~" T. w+ p) O+ p8 s2 D. e( J5 _如下图所示:
* p( T) B- @) x$ B2 z2 j! ]. t; {8 E
9 x0 E, g9 n. I8 f! V这么设置以后,前台商品详情页的“用户评论”是不应该出现验证码的,
9 @+ K$ x, j6 }0 m: w但是它却出现验证码了,不信你试试。* K2 `; l0 |3 N9 F
1 O: R" i% I( q至于你信不信,反正我信了。不信的话,你就自己测试下看看。) w: }0 r/ p9 o% U( ?# _: @
本人也是在进行“ECSHOP独立咨询插件”升级测试过程中发现的。$ ^) M0 ~2 \1 b' L# M: W4 t
0 a2 `5 n' E& t b3 ZBUG原因:$ n& I# u" h# V! U3 _! x5 M7 [# O
8 d8 \. b% E5 p1 E% @变量命名重复了,至于是哪个变量名重复了,请看解决把办法就知道了。
5 `) ?5 f, x7 D; e) I7 r4 \: u
0 f1 L/ D. l$ _) E解决办法:9 D T9 E0 z' a9 N/ _
; x1 m& r1 M/ K0 F/ T
1、打开 /includes/lib_insert.php 文件,先定位到 insert_comments 函数部分,
7 o5 _+ ]( m5 b# |3 M8 @. y2 Z然后找到 insert_comments 函数里面的8 A5 n4 y; \* v: a) F3 x' f1 K
; o2 ?% W" v; T- Z- ^ ]% l$GLOBALS['smarty']->assign('enabled_captcha', 1);1 `3 @' ]/ c% ?# h/ r% f; k
1 ]8 @7 S5 `' ?, b: `- M
将之修改为6 j, A& b8 W" h- h7 p( ?' n
+ Q& b" e) x& w) E, U( q
$GLOBALS['smarty']->assign('enabled_captcha_comments', 1);/ ], }! U3 `% G l5 N
+ W% q* @; \" f, |& h
注意,千万别找错了,这个文件里有两处这样的代码。* B& L( d/ I' Y# ]1 o
! `. j; V$ l5 v4 |4 N3 ?0 C+ W2、然后继续 修改 /themes/default/library/comments.lbi 文件
% l# M7 @& N. K3 \3 }: a% d/ z0 [& z7 m' l
将
# O3 I: |* u1 i2 V0 I2 v2 F4 L. C! E" G6 r$ D) V# A8 S3 V
<!-- 判断是否启用验证码{if $enabled_captcha} -->
; W! X# `, h, a8 R/ y7 i4 o. W: \2 ^! b& M; w- ~5 p
修改为7 j5 j9 P- x. d6 z& w
- u/ s# Z( f; D. u' o& @ \1 `<!-- 判断是否启用验证码{if $enabled_captcha_comments} -->; P' |# `; j$ d# N
! O9 d9 h9 `; o4 B7 B
修改保存,你再试试,是不是正常了。
2 ]: F4 d+ ^. A& W/ A1 D/ ]- F |