Ecshop的积分商城-对不起,该商品库存不足,现在不能兑换
1. 打开Ecshop积分商城文件 "根目录/exchange.php"
发现248行与289行都有库存不足时报错的提示代码:
248行:
/* 查询:检查兑换商品是否有库存 */
if($goods['goods_number'] == 0 && $_CFG['use_storage'] == 1)
{
show_message($_LANG['eg_error_number'], array($_LANG['back_up_page']), array($back_act), 'error');
}
289行:
//查询:商品存在规格 是货品 检查该货品库存
if((!empty($specs)) && ($product_info['product_number'] == 0) && ($_CFG['use_storage'] == 1))
{
show_message($_LANG['eg_error_number'], array($_LANG['back_up_page']), array($back_act), 'error');
}
显然248行是直接检查的商品库存这里是没有问题的。问题出在289行,检查货品出了问题。
这里代码的意思是只要存在属性选择,就对对货品数量进行库存检查这显然是错误的,
因为:只有单选属性 跟货品挂钩,多选属性 是没有货品概念。
2. 修改Ecshop积分兑换文件代码解决问题。
修改289行代码:
//查询:商品存在规格 是货品 检查该货品库存
if((!empty($specs)) && ($product_info['product_number'] == 0) && ($_CFG['use_storage'] == 1))
{
show_message($_LANG['eg_error_number'], array($_LANG['back_up_page']), array($back_act), 'error');
}
如下:
//查询:商品存在规格 是货品 检查该货品库存
if((is_spec($specs)) && ($product_info['product_number'] == 0) && ($_CFG['use_storage'] == 1))
{
show_message($_LANG['eg_error_number'], array($_LANG['back_up_page']), array($back_act), 'error');
}
重新测试问题已经解决了。
3. 修改原理介绍——Ecshop二次开发知识总结。
做过Ecshop二次开发的朋友都了解,Ecshop中商品的属性有三种:
- 唯一属性:
- 只有一个值,购买商品时不能选择。
- 单选属性:
- 拥有多个值,用户只能选一个,比如颜色,选择红色的衣服或者蓝色的。
- 复选属性:
- 复选属性拥有多个值,用户可以选择多个。
在三种属性中仅第二种“单选属性 ”与货品库存有关。而函数is_spec()就是检查一组属性中是否有单选属性。因为加上此判断后问题解决。
Ecshop的积分商城-对不起,该商品库存不足,现在不能兑换的更多相关文章
- ECSHOP在线手册布局参考图--积分商城 exchange_list.dwt
		A.购物车 1,设置方法 程序自动读取购物车的商品数量 2,代码相关 cart.lbi 中 {insert_scripts files='transport.js'} <div clas ... 
- ECshop二次开发 ECSHOP首页显示积分商城里的商品
		以ECSHOP2.7.2官方默认模板为基础 1).首先打开 index.php 文件,在最末尾增加下面函数,注意千万不要写到 “?>” 的外面去,要加在“?>”的前面,加以下代码: /** ... 
- ThinkSNS积分商城系统功能详解!
		积分商城含PC端.Android APP.iOS APP:在ThinkSNS PC端首页导航栏点击"拓展功能",然后选择"积分商城"进行体验:APP端则是在&q ... 
- discuz 修改亮剑积分商城2.91模板(在常用设置中添加商场首页排序方式的背景颜色)
		在应用 -> 积分商城 -> 常用设置 中添加 商场首页排序方式 的背景颜色修改功能 步骤: 1.找到并打开此页面对应的模板source\plugin\aljsc\template\set ... 
- 模仿ecshop建立木瓜商城数据库(MySQL)
		1. 安装ecshop(打开gd扩展) 2. 使用图形化界面工具,如phpmyadmin查看数据.(以前用命令行,主要锻炼代码熟练度!) # 建木瓜库 create database mugua ch ... 
- 联通积分兑换的Q币怎么兑换到QQ上
		可登录联通积分商城http://jf.10010.com 查询和兑换Q币, 1,通过联通积分商城自主兑换,提交订单扣除积分成功后,10010端口将自动为您下发验证码短信. 2,在有效期内登陆Q币充值 ... 
- ecshop数据表说明
		ecshop数据表说明 数据库结构说明,以及自己在后台备份不需要备份的表(红色字体是不需要备份的表)备份文件在FTP或者服务器上网站根目录下data\sqldata下 数据库采用mysql,共78张表 ... 
- ecshop常用语句
		ecshop之中的IF语句: <select name="product_cat" id="product_cat" class="form-c ... 
- Ecshop文件结构,二次开发
		文件结构,二次开发有用 ECShop 2.6.2 的结构图及各文件相应功能介绍 ECShop2.6.2 upload 的目录 ┣ activity.php 优惠活动列表 ┣ affiche.php 广 ... 
随机推荐
- idea ultmate版安装后toolWindows没有database
			点击Configure--->plugins将database勾选 
- Validation(4)-临时
			使用Hibernate-Validator优雅的校验参数 2019年01月01日 13:17:31 余生之君 阅读数:337 版权声明:本文为博主原创文章,未经博主允许不得转载. https:/ ... 
- RPC跟MQ之间的差异比较
			在阿里的平台技术部参与开发了Dubbo(远程调用服务)和Napoli(消息解决方案),又给网站应用支持这2个产品很长一段时间,了解了这2个产品的实现及应用对这两个产品的用法. 大部分情况下,“给定场景 ... 
- C#基础之析构函数
- 【aspnetcore】模拟中间件处理请求的管道
			几个核心对象: ApplicationBuilder 就是startup->Configure方法的第一个参数,请求(HttpContext) 就是由这个类来处理的 HttpContext 这个 ... 
- webstock学习
			1.WebSocket是HTML5中出出现的新技术,有着web TCP之称,这也是为了适应现在实时传输数据的趋势,在这之前一般采用两种方法进行实时数据交换. 轮询机制,其中又包括长轮询. ①短轮询是指 ... 
- qq登录,新浪微博登录接口申请过程中遇到的问题
			接口申请下来了,开发很容易的,参数传到就可以了.以前就做过这方面的开发,但是申请还是第一次,网上有关这方面的东东不是很多,所以记录一下申请过程. 1,qq登录接口申请 申请地址是:http://con ... 
- nodejs下express+ejs环境搭建
			nodejs下express+ejs环境搭建 分类: Nodejs 1.进入需要创建项目的目录 cd F:\nodeCode 2.创建一个带ejs模板工程,工程名为haha e ... 
- 前端之CSS列表及背景类属性
			一.列表类属性: 1.列表符号样式: list-style-type:disc(实心圆)|circle(空心圆)|square(实心方块)|decimal(数字)|none(去掉列表符号样式); 2. ... 
- android textview添加滚动条
			给textview添加滚动条 方式一: xml代码: //设置滚动条的方向 android:scrollbars="vertical" java中设置 tView=(TextVie ... 
