有人说,在后台的 “会员注册项设置 ”里面不是可以控制是否必填吗??我就碰到好几个人这么说过。* L: C; `. U5 P( i% _4 E( }! o( l
其实是他看问题不认真,这里说的是“将会员注册页面的email修改成非必填项”,注意是 email , 那个"会员注册项设置"里是不包括EMAIL的 闲话少叙,下面就来说一下方法, E' t' {" D, t
注意此方法是在Ecshop2.7.2版上修改的,针对以前版本的修改,我曾在官方论坛发布过,大家可以去搜索查阅。
+ R. L( ~ v3 @' z1)、9 H* w2 Y% h4 m+ g4 M0 u" X
7 _. ~' J1 W1 m6 Z4 v. e D# p+ A首先来修改模板文件, 这里以官方默认模板为例* ^5 ~+ v$ y( p3 H$ X
打开 /themes/default/user_passport.dwt 文件/ v" X' \7 n+ _9 l# \
找到
; r8 _9 K5 K1 p6 Z: Fonblur="checkEmail(this.value);"0 T. G" x7 K1 w0 J; K" y- Y; P
将其删除,继续向下找到5 K4 J0 U7 V: G0 n: }
<span id="email_notice" style="color:#FF0000"> *</span>1 O K% n8 h3 l& F! X6 P
也将其删除
9 ]: j# J$ ?+ l& q4 w 2)、 打开 /js/user.js 文件,找到下面JS代码段并删除之(大概在466行左右)
4 [4 x8 u: v4 d$ @% z8 jif (email.length == 0)
; U5 f" V9 X3 z8 | {
1 @! I! v5 b: u msg += email_empty + '\n';* [; ]9 a$ I s) T
}
# M: h1 a4 x4 ^$ G$ k3 ] else$ \# E4 G3 o e
{: r1 u: Z9 `3 a) E" C* Y
if ( ! (Utils.isEmail(email)))5 E- M, M5 r( J. P' \
{
6 x J7 {2 R/ b9 @* r9 N7 ` msg += email_invalid + '\n';$ c. Y2 R( P- ?: H) K' W3 R
}2 t! C; d0 L) [3 _: j8 m9 o$ `! h ?8 }
} | - G( C* p) Q: |2 ~0 ?
3)、% T5 Z: G$ b- y* Y- e& U
打开 /includes/lib_passport.php 文件,7 ? l8 z( n9 a
找到下面代码,同样是删除(大概在40行左右) ,注意是删除# f2 E2 o$ ]/ P/ p! p2 m. j
* N' T q! y3 j" K, Y /* 检查email */
# M. \/ D$ l# w if (empty($email))& T' C( \; Y/ _( t
{" P4 I. j6 q1 u: d
$GLOBALS['err']->add($GLOBALS['_LANG']['email_empty']);
# r$ l/ N+ h" _3 s }, {7 i. p, t" H
else; g; T$ r" v9 P' j4 d: |
{) t# E5 r( G" ~( G8 y Y
if (!is_email($email))
7 c# e% m9 k1 W8 Y {* U$ \# \$ x* P' N6 [2 L" p
$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['email_invalid'], htmlspecialchars($email)));+ Z! Z+ C3 B3 B2 \' X, z) M
}2 `9 h& a9 B" j
} |
- i {2 B$ [( ?5 z& K, \) W 4)、
9 S* e3 V9 O4 [( @' I
, ]6 L& q5 M. U O D 继续打开 includes/modules/integrates/integrate.php 文件 找到下面代码删除之(大概在196行左右)
; n$ b. M3 @- ~: C$ n0 U" K /* 检查email是否重复 */
0 P6 K9 A/ _5 [7 a $sql = "SELECT " . $this->field_id ., ]. T7 P# q1 G+ O, b
" FROM " . $this->table($this->user_table).
+ ]' K+ c( s$ {. p( { " WHERE " . $this->field_email . " = '$email'";
+ v. t; z. V7 W- }1 {1 ` if ($this->db->getOne($sql, true) > 0)
8 H! t s& e W$ b {& b. K! I p9 o5 s5 e8 x8 h( `, f
$this->error = ERR_EMAIL_EXISTS; return false;
. p+ h. \3 s. W1 f* s: B4 ~ } | q; _* y& x& i7 \5 k
|