ECSHOP商品限制购买批发起订数量开发教程

2016-06-13 13:05 来源:www.chinab4c.com 作者:ecshop专家

做过商城,或者说经营过商城的都会知道,有很多商品利润很小,而且还要包运费什么的,所以根本就是做亏本的生意,如果利润小,数量多的话  这样就不会出现赔本的损失。所以 ECSHOP商品限制购买批发起订数量插件也是很实用的插件,就是如果在后台设置商品最小起订量 第一步,商品表必须有个字段  代表某个商品最小订购数量->min_number     打开goods表   在最后字段添加一个min_number  tinyint类型默认值为0  代表没有最小起订量 sql:alter table `ecs_goods` add column `min_number` tinyint (3) UNSIGNED  DEFAULT '0' NOT NULL  after `warn_number`; 第二部,在后台添加商品的时候 必须有个text文本框  设置最小起订量 admin/goods.php 在'warn_number'=> 1 , 代码行后插入'min_number'=> 0, 在$warn_number = isset($_POST['warn_number']) ? $_POST['warn_number'] : 0; 后添加代码$min_number = isset($_POST['min_number']) ? $_POST['min_number'] : 0; 第三部修改添加商品sql语句 将 /* 入库 */ if ($is_insert) { if ($code == '') { ....由于发帖篇幅的限制省略原有代码无数 } else { ...... } } else { /* 如果有上传图片,删除原来的商品图 */ ..... } 修改代码     if ($is_insert){            if ($code == ''){       $sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .           "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " .              "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img,keywords, goods_brief, " .              "seller_note, goods_weight, goods_number, warn_number,min_number, integral,give_integral, is_best, is_new, is_hot, ".              "is_on_sale, is_alone_sale, goods_desc, add_time, last_update, goods_type,rank_integral)" .             "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .              "'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price', ".              "'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', ".              "'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight','$goods_number',".              "'$warn_number','$min_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', '$is_on_sale', '$is_alone_sale', ".              "'$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type','$rank_integral')";      }else{       $sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, ".          "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " .       "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img,keywords, goods_brief, " .       "seller_note, goods_weight, goods_number, warn_number, min_number,integral,give_integral, is_best, is_new, is_hot, is_real, " .       "is_on_sale, is_alone_sale, goods_desc, add_time, last_update, goods_type,extension_code, rank_integral)" .       "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .       "'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price', ".       "'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb','$original_img', ".       "'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight','$goods_number',".       " '$warn_number','$min_number', '$_POST[integral]', '$give_integral', '$is_best','$is_new', '$is_hot', 0, '$is_on_sale', '$is_alone_sale’' ".       " '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$code', '$rank_integral')";      }     }else{             $sql = "SELECT goods_thumb, goods_img, original_img " .              " FROM " . $ecs->table('goods') .        " WHERE goods_id = '$_REQUEST[goods_id]'";       $row = $db->getRow($sql);       if ($proc_thumb && $goods_img && $row['goods_img'] &&       !goods_parse_url($row['goods_img']))       {        @unlink(ROOT_PATH . $row['goods_img']);        @unlink(ROOT_PATH . $row['original_img']);       }       if ($proc_thumb && $goods_thumb && $row['goods_thumb'] && !goods_parse_url($row['goods_thumb']))       {        @unlink(ROOT_PATH . $row['goods_thumb']);       }        $sql = "UPDATE " . $ecs->table('goods') . " SET " .        "goods_name = '$_POST[goods_name]', " .        "goods_name_style = '$goods_name_style', " .        "goods_sn = '$goods_sn', " .        "cat_id = '$catgory_id', " .        "brand_id = '$brand_id', " .        "shop_price = '$shop_price', " .        "market_price = '$market_price', " .        "is_promote = '$is_promote', " .        "promote_price = '$promote_price', " .        "promote_start_date = '$promote_start_date', " .        "promote_end_date = '$promote_end_date', ";               if ($goods_img)        {         $sql .= "goods_img = '$goods_img', original_img = '$original_img', ";        }        if ($goods_thumb)        {         $sql .= "goods_thumb = '$goods_thumb', ";        }        if ($code != '')        {         $sql .= "is_real=0, extension_code='$code', ";        }        $sql .= "keywords = '$_POST[keywords]', " .         "goods_brief = '$_POST[goods_brief]', " .         "seller_note = '$_POST[seller_note]', " .         "goods_weight = '$goods_weight'," .         "goods_number = '$goods_number', " .         "warn_number = '$warn_number', " .         "min_number = '$min_number', " .         "integral = '$_POST[integral]', " .         "give_integral = '$give_integral', " .         "rank_integral = '$rank_integral', " .         "is_best = '$is_best', " .         "is_new = '$is_new', " .         "is_hot = '$is_hot', " .         "is_on_sale = '$is_on_sale', " .         "is_alone_sale = '$is_alone_sale', " .         "goods_desc = '$_POST[goods_desc]', " .         "last_update = '". gmtime() ."', ".         "goods_type = '$goods_type' " .         "WHERE goods_id = '$_REQUEST[goods_id]' LIMIT 1";      } 第四步修改后台模板文件(在市场价会员价  后边添加设置最小起订量) admin/templates/goods_info.htm 在        {$lang.lab_shop_price}               {$lang.require_field}     添加             {$lang.lab_min_number}                                            第五步:修改语言languages/zh_cn/admin/goods.php 最后添加 $_LANG['lab_min_number']       = '最小购买数量:'; $_LANG['notice_min_number']    = '该商品最小购买数量,0表示按购买数量无限制.' 到现在位置 后台设置全部结束了,不知道大家能懂了没有 下面我们说说前台如何来实现 我以ecshop官方模板为例子给大家讲解 想做起订量限制,这个必然是在商品购买页面  购买数量框来做限制最简单的办法就是用JS当然还有别的办法 首先给那些如果给了起订量的商品  购买页面直接显示默认最少购买数量 如果在后台设置的AA商品最少5个    那么进入AA商品页面购买数量默认值就是5 我这样来实现 修改themes/default/goods.dwt 改成
这样就是value  也就是默认值了 最后添加JS判断就好了 themes/default/goods.dwt 在 var qty = document.forms['ECS_FORMBUY'].elements['number'].value; 后添加 {if $goods.min_number} if(qty < {$goods.min_number}) { alert('您输入的数字小于此商品最小购买数量:{$goods.min_number}'); qty = {$goods.min_number}; } {/if}