第一步,商品表必须有个字段  代表某个商品 最小订购数量->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. (转)windows下安装nodejs及框架express

    转自:http://jingyan.baidu.com/article/456c463b60fb380a583144a9.html windows下安装nodejs及框架express nodejs从 ...

  2. Python3学习(3)-高级篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 文件读写 源文件test.txt line1 line2 line3 读取文件内容 f = ope ...

  3. 【整理】-- C++ 多线程

    os:ubuntu   c++ 1.创建线程 #include <iostream> #include <pthread.h> //多线程相关操作头文件,可移植众多平台 usi ...

  4. Debian修改ssh端口和禁止root远程登陆设置

    linux修改端口22vi /etc/ssh/sshd_config找到#port 22将前面的#去掉,然后修改端口 port 1234重启服务就OK了service sshd restart或/et ...

  5. ASP.NET MVC学习之过滤器篇(1)

    一.前言 继前面四篇ASP.NET MVC的随笔,我们继续向下学习.上一节我们学习了关于控制器的使用,本节我们将要学习如何使用过滤器控制用户访问页面. 二.正文 以下的示例建立在ASP.NET MVC ...

  6. Dynamic CRM 2013学习笔记(三十一)自定义用excel批量导入实体数据

    有一个实体的子表数据量太大,于是客户想用execel来导入实体数据.首先想到的是用系统自带的Import Data,客户嫌太麻烦,比如lookup字段要做map等. 下面是具体的实现步骤: 一.定义e ...

  7. 设计模式之美:Proxy(代理)

    索引 别名 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):使用相同 Subject 接口实现 Proxy. 别名 Surrogate 意图 为其他对象提供一种代理以控制对这个对象的 ...

  8. jenkins2 插件安装

    文章来自:http://www.ciandcd.com 文中的代码来自可以从github下载: https://github.com/ciandcd Jenkins的安装包和插件在7个国家有20多个镜 ...

  9. JS几种数组遍历方式以及性能分析对比

    前言 这一篇与上一篇 JS几种变量交换方式以及性能分析对比 属于同一个系列,本文继续分析JS中几种常用的数组遍历方式以及各自的性能对比 起由 在上一次分析了JS几种常用变量交换方式以及各自性能后,觉得 ...

  10. maven nexus 3 third party 构件上传

    mvn -e deploy:deploy-file -DgroupId=com.oracle -DartifactId=JDBCDriver -Dversion=12.0.1 -Dpackaging= ...