限定为每个商品的最小订购数

来源:互联网 发布:mac客人用户是什么 编辑:程序博客网 时间:2024/05/17 23:11

(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;}

最后后台的运行效果如下图:


前台下订单的时候有如下效果:后台添加默认是十件,前台购买商品的时候默认也是


如果把值修改为小于十的数值的时候会跳转到另一个页面提示:


当我填写大于十件的时候才能进入下一步:




至此完成功能


0 0
原创粉丝点击