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 广 ...
随机推荐
- 如何使用Tomcat自带的日志实现tomcat-juli.jar
前言 Tomcat自带的日志实现是tomcat-juli.jar,它是对默认的JDK日志java.util.logging进行一定的封装,和标准JDK日志支持相同的配置,但是和log4j等常用的日志框 ...
- 两句话跳转QQ聊天界面 通过web方式
NSString *qq=[NSString stringWithFormat:"]; NSURL *url2 = [NSURL URLWithString:qq]; if ([[UIApp ...
- Python 数字模块
Python中的数字模块 math模块 random模块 Decimal模块 - 没有损失的小数 Fraction模块 - 可以计算分数
- [UOJ22]外星人
题解 首先可以发现有效果的\(a_i\)大小一定是递减的,而且一定小于等于当前值 所以我们可以从大到小考虑每个\(a_i\),当确定了一个有效果的\(a_i\)时,\((a_i,x]\)的数都可以随意 ...
- HDU 5869 Different GCD Subarray Query 树状数组 + 一些数学背景
http://acm.hdu.edu.cn/showproblem.php?pid=5869 题意:给定一个数组,然后给出若干个询问,询问[L, R]中,有多少个子数组的gcd是不同的. 就是[L, ...
- 牛客网Java刷题知识点之什么是死锁、死锁产生的4个必要条件、死锁的解除与预防
不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=16 ...
- web移动端滑动插件
1.slip只有6.3k可以说是非常小了,主要是通过css3里面的transform来改变的位置,控制的是父容器,使用也非常简单,具体信息移步slip.js.一个简单的demo如下 <!DOCT ...
- 惊人的CSS和JavaScript动画logos例子
https://codepen.io/lindell/pen/mEVgJP Stack Overflow logo是我最喜欢的logo之一,因为它非常简单,但易于识别.并且这个片段动画点击预览Stac ...
- CF1060C Maximum Subrectangle
思路: 不难发现,对矩阵中的数字求和实际上是先分别对a,b两个数列中对应子段的元素求和再相乘.题目是要求在和不超过给定值的情况下使选出的矩阵面积最大.我们反其道而行之,考虑在子段长度一定的情况下,和最 ...
- 使用vscode软件运行zebrajs框架小结
最近在研究使用zebrajs框架,用vscode编辑器进行开发.vsc这个编辑器说起来还是很强大的,就是支持各种系统的多种语言开发.用于前端的话可以直接在编辑器上边调试javascript,就是需要n ...