您现在的位置是:首页 > cms教程 > ecshop商城教程ecshop商城教程
ecshop属性表attribute商品属性表goods_attr货品表prduct)商品数
尤帅齐2024-12-25 22:49:21ecshop商城教程已有12人查阅
导读ecshop属性表(attribute)商品属性表(goods_attr)货品表(prduct) 商品数量的联系一个商城的商品属性存放在属性表(attribute)里 ,每个商品对应的属性在goods_attr里
ecshop属性表(attribute)商品属性表(goods_attr)货品表(prduct) 商品数量的联系一个商城的商品属性存放在属性表(attribute)里 ,每个商品对应的属性在goods_attr里goods_attr与(attribute)想关联,商品表里有商品数量的字段goods_number
为什么有这个货品表呢?
因为 某件商品有多种属性的时候,那这个商品就成为了货品,也就是说不同属性的相同商品应该也存在差异,所以当设置商品属性的attr_type=1(表示单选属性)的时候,
在 前台include/lib_comment.php 函数sort_goods_attr_id_array将 goods_attr_id 的序列按照 attr_id 重新排序 可以找到 非规格属性的id会被排除这句话,在连接这个函数写的sql语句 我个人觉得attr_type=1表示规格属性,然后就是由于这样的处理,导致attr_type=0 attr_type=2的商品 他们虽然有商品数量,但是货品库存查不出来从而导致到货通知这个功能出现异常
首先我们来看看这个到货通知是怎样处理的:
从模板goods.dwt里我们找到 就是这里,通过发送一个ajax请求回传到goods.php里,得到最终的attr,然后在goods.php里通过: 回传json数据到模板,通过 就可以实现到货通知
我们在来看看这个 goods_attr_number在php页面是怎样得到的
$res['goods_attr_number'] = get_product_attr_num($goods_id,$_REQUEST['attr']);----attr是ajax调来的数据,往上找会看到它的处理
继续找get_product_attr_num
get_product_attr_num 获取相关属性的库存* @param int $goodid 商品id * @param string(array) $attrids 商品属性id的数组或者逗号分开的字符串
仔细看函数的流程,我们发现如果一个商品没有属性,那它的attrid就是空的,又一个商品有多个属性,那就对应多个goods_attr_id
在这里的话 goods_attr_number =就直接等于商品表里goods_number对应的数量
好了,再往下看,如果有属性,那么就 重新排序 就是我上面提到的方法
问题就在这里了,那我们在看看后台商品属性功能
在编辑属性处有这样三个单选,属性是否可选:唯一属性 单选属性 复选属性 而这里就是attr_type对应 的三种值
在页面有这样的说明:
选择"单选/复选属性"时,可以对商品该属性设置多个值,同时还能对不同属性值指定不同的价格加价,用户购买商品时需要选定具体的属性值。选择"唯一属性"时,商品的该属性值只能设置一个值,用户只能查看该值。
但是 出现问题来了,如果没有选择单单选属性 那么在商品列表里或者再添加商品的时候这个商品的属性不是单选属性那么就不会出现货品管理这个功能
因为在这个功能处也有个逻辑
在后台的goods.php?业剑? 在lib_goods.php?业嚼 飧龊?/** 不难发现,这里也只有attr_type = 1 才会出现货品这个功能。
为什么有这个货品表呢?
因为 某件商品有多种属性的时候,那这个商品就成为了货品,也就是说不同属性的相同商品应该也存在差异,所以当设置商品属性的attr_type=1(表示单选属性)的时候,
在 前台include/lib_comment.php 函数sort_goods_attr_id_array将 goods_attr_id 的序列按照 attr_id 重新排序 可以找到 非规格属性的id会被排除这句话,在连接这个函数写的sql语句 我个人觉得attr_type=1表示规格属性,然后就是由于这样的处理,导致attr_type=0 attr_type=2的商品 他们虽然有商品数量,但是货品库存查不出来从而导致到货通知这个功能出现异常
首先我们来看看这个到货通知是怎样处理的:
从模板goods.dwt里我们找到 就是这里,通过发送一个ajax请求回传到goods.php里,得到最终的attr,然后在goods.php里通过: 回传json数据到模板,通过 就可以实现到货通知
我们在来看看这个 goods_attr_number在php页面是怎样得到的
$res['goods_attr_number'] = get_product_attr_num($goods_id,$_REQUEST['attr']);----attr是ajax调来的数据,往上找会看到它的处理
继续找get_product_attr_num
get_product_attr_num 获取相关属性的库存* @param int $goodid 商品id * @param string(array) $attrids 商品属性id的数组或者逗号分开的字符串
仔细看函数的流程,我们发现如果一个商品没有属性,那它的attrid就是空的,又一个商品有多个属性,那就对应多个goods_attr_id
在这里的话 goods_attr_number =就直接等于商品表里goods_number对应的数量
好了,再往下看,如果有属性,那么就 重新排序 就是我上面提到的方法
问题就在这里了,那我们在看看后台商品属性功能
在编辑属性处有这样三个单选,属性是否可选:唯一属性 单选属性 复选属性 而这里就是attr_type对应 的三种值
在页面有这样的说明:
选择"单选/复选属性"时,可以对商品该属性设置多个值,同时还能对不同属性值指定不同的价格加价,用户购买商品时需要选定具体的属性值。选择"唯一属性"时,商品的该属性值只能设置一个值,用户只能查看该值。
但是 出现问题来了,如果没有选择单单选属性 那么在商品列表里或者再添加商品的时候这个商品的属性不是单选属性那么就不会出现货品管理这个功能
因为在这个功能处也有个逻辑
在后台的goods.php?业剑? 在lib_goods.php?业嚼 飧龊?/** 不难发现,这里也只有attr_type = 1 才会出现货品这个功能。
本文标签:
很赞哦! (0)
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
ecshop函数列表总结大全
重新计算购物车中的商品价格:目的是当用户登录时享受会员价格,当用户退出登录时不享受会员价格ecshop商品图片模糊修改图片上传压缩质量的方法
ecshop商品图片模糊修改图片上传压缩质量修改教程在includes/cls_image.php中。imagejpeg这个函数是生成图片的函数,范围从 0(最差质量,文件更小)到 100(佳质量,文件很大)。ecshop商城背景怎么增加图片效果
增加背景图片的方法,图片自己做,喜欢什么自己做,更换掉就行把代码放在风格的page_header.lbi文件里顶部就行了ecshop商品页面只开启个别页面的URL重写rewrite
问题:如何只开启商品页面的rewite,也就是说只是将商品页链接形式修改为 goods-12.html 的形式,而类别页、品牌页还保持原来的动态形式
留言与评论 (共有 0 条评论) |