在ECSHOP商城中怎么限制一个商品的最少购买量(或者叫最小订购数、起订数)?& d2 N+ P M4 O. d- n3 p
比如说我有一个商品要要求最小购买量是10个,少于10个不允许购买,该怎么实现呢?) ]9 Q$ G8 K) C% _$ {! Z
& _, e# g% q4 r下面说一下具体方法,为了保护著作版权,一些关键代码用图片形式来展示,见谅。& _' S5 ?/ b8 X3 O. W( z/ |+ u* t
9 w) l0 N# w+ o0 O- D& R
首先提供一个演示地址供测试: 演示地址临时关闭,请咨询客服。
: W, G. V1 p: R) X0 k5 h u/ g- u! y+ X/ u7 P
1)、# s6 p3 f# G/ i" E+ V: `
0 u$ e6 c4 y3 M, B) f
首先需要修改ECSHOP的数据库结构
! \; S ~2 R S7 C! p' `进入 后台 》数据库管理 》SQL查询,执行下面SQL语句,注意将 “ecs_” 改成你的数据库前缀6 g/ Y' S- Q3 \0 N7 @/ T p b c
, L, R1 @5 q$ SALTER TABLE `ecs_goods` ADD `min_buynum` INT( 10 ) NOT NULL DEFAULT '0';) I5 C8 o& Q5 O6 v& t3 [
0 L& F) J$ I# |' S
2)、
- X6 x3 x3 j/ ]/ g' {+ ^) o6 ?' @4 U2 Z: U" N
修改 /admin/templates/goods_info.htm: ]9 \7 n8 l% v4 | o. S6 ~
+ F2 H; U9 k' V; h) ~
在2 E8 J" z" Z. u2 w
) S9 z+ ^! C2 l; J( i
{if $suppliers_exists eq 1} | # U- a5 M) Z9 X
上边增加代码- M: g2 y0 O, l, i5 R( k
1 t7 P9 M6 \% u6 r/ d; p% L5 h" P6 X! X [3 p8 g
3)、
2 F1 q7 W" R- s) |: g/ G( D) d. a/ H' P' `
修改 /admin/goods.php
) \/ k& h8 V' c& S G
" Q) x& Z8 X9 Z0 x找到(注意:一共能找到两处,都要修改才行)
8 q4 {" V2 w/ N' u' [/ t& T# ~4 @+ e, t
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .
8 a3 o& m0 {5 l- F( g/ @2 x
! U, m7 G( O. u# F将之修改为
. f( | k$ d1 e. G# e3 }/ f% W0 m* X# ~* B2 N4 s8 R
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, min_buynum, " .+ k, v1 L7 e" F5 m$ X
2 `4 B5 T' x+ z4 _2 x
2 n4 _6 K n6 P1 b- }继续,找到(注意:一共能找到两处,都要修改才行)1 z2 `) n; n& |9 ~1 w# m6 w) k
! P) O! X1 S8 B/ ]6 D# g
"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .
* Q0 I. j5 `1 o% }7 ~$ T3 N$ |. p) j8 A) S& n
将之修改为+ n; h3 h, ]* _$ d7 e; F- ~
) n g" e: e6 t7 Z4 X' X$ p"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$_POST[min_buynum]', '$catgory_id', " .
$ d9 J- W4 _+ t J
. j% k) H8 l( N+ E% E继续向下,找到; y; _* ]4 ?2 S+ @% p8 {7 z2 X1 ]
$ _7 V$ I( C" |9 }
"goods_sn = '$goods_sn', " .2 N( m/ F) j8 B8 M8 O W
6 }1 N. Q2 Y; R+ T
在它下面增加一行代码
2 C, K1 N% A& q Y& k- i+ g* D, k* x* [3 A
"min_buynum = '$_POST[min_buynum]', " .
7 r, \1 ?4 |+ E5 z9 Z0 t+ ?
3 I5 w% p: K4 W# X' U至此,后台部分修改完毕,下面开始修改前台部分2 d! l, l# Y; b/ l. }# D0 g5 ^
# [$ Z5 K* ]! n& C4)、0 j7 X8 p; N9 x2 d( C7 g4 C$ ^
5 ]1 M2 \, `9 V9 F+ A这里以官方默认模板为例进行讲解,其他模板请自行对照修改+ a$ a$ g. W1 ]6 S7 H" j) B1 Y, \
打开文件 /themes/default/goods.dwt ' v" { I7 ?! n/ `
" f* L! ^8 T( f8 p0 ~ q( ]# A K将
. b8 q; r) i, O) [- p6 @; z- |- r' j( `* f( c9 W# @
<input name="number" type="text" id="number" value="1" size="4" style="border:1px solid #ccc; "/>1 Z! [- R `! x6 i ]
" o$ O' [0 o8 X( h1 {" \: G
修改为
3 x8 M, B) d* V" X$ b' N
, Q+ M& [% j6 q<input name="number" type="text" id="number" value="{$goods.min_buynum|default:"1"}" size="4" style="border:1px solid #ccc; "/>
( ~3 r7 W( s$ P9 ] @; {0 |; b& p3 c. w4 K( s) ^
继续向下,找到
) |) ]* {; t- q) _
; K! X! o/ D; Nvar qty = document.forms['ECS_FORMBUY'].elements['number'].value;9 e8 G1 b7 `0 U s3 d7 ?9 G4 B
9 K5 J2 Y- U) r4 B H! w3 \% y4 h! J
在它下边增加一段代码; v# p0 u# C4 d* ^$ S
+ h Q/ J) |- U; i6 F. U2 g
+ |8 w0 a5 N. H6 ]; N
1 t" P" |6 o% X- d" O s+ G. N
5)、
5 x4 n0 U8 ~& A' j) X) p9 ~7 g% r& t# P. A3 m
打开文件 /flow.php
# J( R" w% K$ k. V1 `
: B" j3 r) ~; K找到
" A7 q0 ~8 K9 z7 K( t- X A R ?+ ?, Q* B
$sql = "SELECT g.goods_name, g.goods_number ".7 F9 k2 I, y( A# y' M0 A
c8 I; q9 I& |- l7 Z) d
修改为: Y8 `' x( f& O0 t9 Z
/ T: W# r8 {5 X- i
$sql = "SELECT g.goods_name, g.goods_number, g.min_buynum ".
2 K/ h# _: }2 |+ k
]; y& f' }6 A1 c9 c5 \找到: G6 `9 U; Y0 l
9 k, y( _4 o6 l7 O, [4 Y
//查询:系统启用了库存,检查输入的商品数量是否有效 |
, t3 [) k( z3 N1 J; Z1 C$ `5 F* q* D4 y+ {. b. m6 `: v2 W* }
在它上边增加
# Q2 J( w2 w! `' p$ E6 \. N
& v3 b& C$ u+ {* E1 u' E% q
/ [( ~# ~0 q) H# R. ]5 ]
1 i0 W5 {$ V( ^/ ^3 G* e! L
# T5 C' C8 y; t) n2 o2 _ T$ k# |# A* y7 C: h
+ I* A _) e: s' A' R6 x0 G
. G* k/ |' S5 S7 V# q: M
|