(1)首先需要修改ECSHOP 中ecs_goods表,为此表增加一个字段
ALTER TABLE `ecs_goods` ADD `min_buynum` INT( 10 ) NOT NULL DEFAULT '0';
(2)进入 /admin/templates/goods_info.htm进行修改
找到{if $suppliers_exists eq 1},然后在上边增加代码
<td class="label">最小起订数:</<td>
<td><input type="text" name="min_buynum" value="{$goods.min_buynum}"/></td>
</tr>
(3)进入 /admin/goods.php进行修改 (注意:一共能找到两处,都要修改才行)
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .
将之修改为$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, min_buynum, " .
继续,找到(注意:一共能找到两处,都要修改才行)
"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .
将之修改为"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$_POST[min_buynum]', '$catgory_id', " .
继续向下,找到"goods_sn = '$goods_sn', " .
在它下面增加一行代码"min_buynum = '$_POST[min_buynum]', " .
至此,后台部分修改完毕,下面开始修改前台部分
(4)打开文件 /themes/jd2013/goods.dwt
将<input name="number" type="text" id="number" value="1" size="4" style="border:1px solid #ccc; "/>
修改为<input name="number" type="text" id="number" value="{$goods.min_buynum|default:"1"}" size="4" style="border:1px solid #ccc; "/>
继续向下,找到var qty = document.forms['ECS_FORMBUY'].elements['number'].value;
在它下边增加一段代码
<!--{if $goods.min_buynum}-->
if(qty<{$goods.min_buynum}){
alert('对不起,本商品最小起订数为:{$goods.min_buynum}');
qty={$goods.min_buynum};
}
<!--{/if}-->
(5)进入打开文件 /flow.php
找到$sql = "SELECT g.goods_name, g.goods_number ".
修改为$sql = "SELECT g.goods_name, g.goods_number, g.min_buynum ".
找到//查询:系统启用了库存,检查输入的商品数量是否有效
在它上边增加
/**
*
* @var 比较最小起订数
*
*/
if($row['min_buynum']>$val){
show_message(sprintf('对不起,您选择的商品 %s,最小起订数为 %d 件。',$row['goods_name'],$row['min_buynum']),'返回购物车','?step=cart');
exit;
}
最后后台的运行效果如下图:
前台下订单的时候有如下效果:后台添加默认是十件,前台购买商品的时候默认也是
如果把值修改为小于十的数值的时候会跳转到另一个页面提示:
当我填写大于十件的时候才能进入下一步:
至此完成功能