第一步,商品表必须有个字段  代表某个商品 最小订购数量->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}" onclick="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" onBlur="changePrice()" 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" onblur="changePrice()" 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}

Ecshop 最小起订量如何设置的更多相关文章

  1. 【Spark】SparkStreaming-Tasks-数量如何设置?

    SparkStreaming-Tasks-数量如何设置? sparkstreaming task 数量设置_百度搜索 spark内核揭秘-14-Spark性能优化的10大问题及其解决方案 - star ...

  2. Centos7最小化安装之工作站设置

    Centos7最小化安装之工作站设置 实测在Vultr的VPS上正常可用 在Vultr上怎么看桌面 两种解决方法: 使用VNC远程连接 直接使用Vultr的view console功能 我使用的是第二 ...

  3. ecshop前台英文后台中文的设置方法

    ecshop前台英文后台中文的设置方法 这里有两种方法: 第一种方法: 打开 admin/includes/init.php 文件 找到$_CFG = load_config(); 在它下面增加一行代 ...

  4. Ecshop导航栏标题栏的伪静态设置

    当Ecshop的伪静设置成功之后,左侧的分类标签,包括具体的产品页面都可以顺利的打开伪静态页面,但是点击导航栏,或者标题栏的时候,却还是之前的数据库标签页的方式,这是怎么一回事呢? 这是由于,Ecsh ...

  5. ECSHOP商城全站自定义TITLE标题设置

    对于SEO来说,能让标题自定义的将会大大增加SEO效果,提高独立商城的流量,今天小编就收集从网上弄来ecshop全站自定义代码,很全哦! 1.Ecshop商品分类页如何实现自定义Title 最近发现很 ...

  6. ECSHOP模板 蘑菇街2018广告楼层设置说明

    楼层广告以及说明 图1 ------------------ 设置,通过,后台,模板设置,分类下的商品,选用需要显示的商品分类 图2------------------ 后台,编辑商品分类的广告链接. ...

  7. CSS 基础 例子 最小高度和最大高度设置

    最小高度,无论什么时候,高度不会小于该值,即使内容很少,不限制高度最大值,超出时候,按照实际内容来决定高度 最大高度,无论什么时候,高度不会大于该值,即使内容很多,不限制最小高度,超出时候,多出部分会 ...

  8. ecshop,大商创后台设置增加字段方法

    使用场景:在开发过程中有时是需要在后台增加一个参数 例如: 必须要改数据库和源码的 1,在数据库中增加一条数据 数据库名称:shop_config 2:后台语言包

  9. zend studio 提升开发效率的快捷键及可视化订制相关设置

    Zend studio快捷键使用 F3 快速跳转到当前所指的函数,常量,方法,类的定义处,相当常用.当然还可以用Ctrl+鼠标左键 shift+end 此行第一个到最后一个 shift+home 此行 ...

随机推荐

  1. Majority Element I&II

    题号:169, 229. 思路:当要找到超过n/c的元素x时,在更新candidates时,要保证,是x时加1,不是x时消掉c-1.则最终,x一定会出现在一个candidate中.

  2. phpcms开启、关闭在线编辑模板的方法

    打开 caches/configs/system.php 文件 找到 'tpl_edit'=> 0,//是否允许在线编辑模板 修改此行代码中的数字为 1或0 即可

  3. Google Chrome: Make the Bookmarks Bar Display as Icons Only

    By reducing your bookmarks to show only the icons, you can access more of them from the Bookmarks ba ...

  4. ios9关闭系统自动更新

    链接:https://www.zhihu.com/question/37297197/answer/104363172 https://www.zhihu.com/question/37297197/ ...

  5. C#设计模式(9)——装饰者模式(Decorator Pattern)

    一.引言 在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类).A ...

  6. 单元测试中使用Moq对EF的DbSet进行mock

    刚用上Moq,就用它解决了一个IUnitOfWork的mock问题,在这篇博文中记录一下. 开发场景 Application服务层BlogCategoryService的实现代码如下: public ...

  7. Scrum 是什么?

    Scrum 是什么? Scrum 是当前最流行的敏捷软件开发方法论和实施框架.但就像人们对 “Agile” 术语的不同理解一样,不同的人对 “Scrum” 也有着不同的理解.那么,到底 Scrum 是 ...

  8. GUI 快捷键的实现思路

      思路: 前提快捷键操作不可重复,即一个快捷键对应一个控件的动作 一个窗体保持一份快捷键的map映射 在相应的消息中获取快捷键列表如键盘消息 在控件类对象中定义一个默认的响应行为,比如Button按 ...

  9. TfS+强制删除签出锁定项

    1.连接到tfs数据库服务器的tfsversioncontrol库: 2.查tbl_workspace表,找出相应的工作目录,比如 select * from tbl_workspace where ...

  10. asp.net core中Microsoft.AspNet.Session的使用

    1.通过nuget/修改project.json引用 2.引用存储session的媒介,如内存.数据库.redis等 "Microsoft.AspNetCore.Session": ...