推56论坛

 找回密码
 立即注册(限中文)

QQ登录

只需一步,快速开始

    查看: 248|回复: 0

    [ECshop教程] ecshop商品购买批发最小起订量数量插件

    [复制链接]
    发表于 2018-4-28 19:12:01 | 显示全部楼层 |阅读模式
    做过ecshop商城,或者说经营过商城的都会知道,有很多商品利润很小,而且还要包运费什么的,所以根本就是做亏本的生意,如果利润小,数量多的话
    这样就不会出现赔本的损失。所以 今天第一个插件也是很实用的插件就是如果在后台设置商品最小起订量
    第一步,商品表必须有个字段  代表某个商品 最小订购数量->min_number
        打开goods表   在最后字段添加一个min_number  tinyint类型 默认值为0  代表没有最小起订量
    sql:alter table `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 == ''){
          $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
    在 <tr>
           <td class="label">{$lang.lab_shop_price}</td>
           <td><input type="text" name="market_price" value="{$goods.shop_price}" size="20" />
           <input type="button" value="{$lang.integral_market_price}" />{$lang.require_field}</td>
       </tr>
    添加
    <!-- 新增 批发数量限制 begin -->
        <tr>
            <td class="label">{$lang.lab_min_number}</td>
            <td><input type="text" name="min_number" value="{$goods.min_number}" size="20" />
               <span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" mce_style="display: none;" {/if} id="minNumber">{$lang.notice_min_number}</span>
            </td>
            </td>
        </tr>
    <!-- 批发数量限制 end -->
    第五步:修改语言languages/zh_cn/admin/goods.php
    最后添加
    $_LANG['lab_min_number']       = '最小购买数量:';
    $_LANG['notice_min_number']    = '该商品最小购买数量,0表示按购买数量无限制.'
    到现在位置 后台设置全部结束了,不知道大家能懂了没有
    下面我门说说前台如何来实现
    我以default模板为例子给大家讲解
    想做起订量限制,这个必然是在商品购买页面  购买数量框来做限制 最简单的办法就是用JS当然还有别的办法
    首先给那些如果给了起订量的商品  购买页面直接显示默认最少购买数量
    如果在后台设置的AA商品最少5个    那么进入AA商品页面购买数量默认值就是5
    我这样来实现
    修改themes/default/goods.dwt
    <input name="number" type="text" id="number" value="1" size="4" style="border:1px solid #ccc; " mce_style="border: 1px solid #ccc;"/>
    改成

    <input name="number" type="text" id="number" value="{$goods.min_number|default:"1"}" size="4" style=”border:1px solid #ccc; " mce_style="border: 1px solid #ccc;"/><br />
    这样就是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}

    学建站、学推广、学赚钱,上56站长论坛就够了!个性签名请到个人资料里面修改……

    本版积分规则

    关闭

    推56站长论坛推荐上一条 /2 下一条

    站长QQ
    在线咨询
    咨询热线
    QQ:405327411
    站长

    QQ|广告合作|关于我们|联系我们|免责声明|网站导航|站长论坛 ( 豫ICP备11018337号-5

    王宝臣旗下网站 推56论坛(www.tui56.com|ask.tui56.com|blog.tui56.com|daohang.tui56.com)

    Powered by Discuz! X3.4 Licensed

    ©2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表