首页 > 学习笔记 > PHP > 正文

ecshop为每个商品设置最少购买量最小订购量

发布时间:2016-06-03 14:37:16 点击量:

1.首先在goods表添加最小购买量字段
进入 后台 》数据库管理 》SQL查询,执行下面SQL语句,注意将 “ecs_” 改成你的数据库前缀

ALTER TABLE  `ecs_goods` ADD  `min_buynum` INT( NULLnbsp; '0';

直接进数据库添加栏位也可以。

2.修改 /admin/templates/goods_info.htm

找到
{if $suppliers_exists eq 1}

上边增加代码
 
         <tr>
         <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/default/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 ".

找到

//查询:系统启用了库存,检查输入的商品数量是否有效


在它上边增加

 /* 比较购买数量与最小起定数*/
                 if($row['min_buynum']>$val)
                 {
                  show_message(sprintf('对不起,您选择的商品%s,最小起订数%d件。',
                  $row['goods_name'],$row[' min_buynum']),'返回购物车','?step=cart');
                  exit;
                 }

至此就修改完成了 。

上一篇:Ecshop程序设置让手机访问和电脑浏览同样显示

下一篇:smarty truncate 截取字符串