京东商城商品图片是怎么设计的
京东商城商品图片是如何设计的?他这里有个颜色分类,选不同的颜色,左侧就显示对应颜色的图片。还有一种情况
京东商城商品图片是如何设计的?
他这里有个颜色分类,选不同的颜色,左侧就显示对应颜色的图片。
还有一种情况就是没有颜色分类,左侧直接显示所有的图片。
还有一种情况是选择不同的版本,左侧对应不同版本的图片,这个倒是和颜色类似了。
我想问下这个情况数据库如何设计比较好。
一张产品表 一张颜色表 一张图片表
颜色表和产品表有主外键关系。
考虑到有的产品没有颜色,那么图片表需要同时和产品表还有颜色表都要有对应的主外键关系、
我感觉这个设计不太好啊。
谁能提供点好的设计思路呢
一个表就够了,
ID 编码 标题 颜色 码数 图片地址 等等...
编码是唯一的,说明一个款式
对后台对JS代码生成变量
所有编码一样的放数组,或者你觉得别的数据类型更好用
var ALL数组={ 编码一样的鞋子,颜色,码数}
单击小图片,用JS的IF 输出符合条件的图片地址显示出来即可,,
,
缺点:同一款式鞋子可能有很多条信息在库里,需要设计好 数据提交页面,
你这个也不可取,你考虑下后台添加图片的时候,难道每添加一张图片就要去填写一下颜色信息?
颜色信息肯定也是需要用一个ID的,后台人员添加的时候选择一个颜色,如果输入文字,会有写错的情况的
你觉得问题在哪里?
一种颜色 有很多 图片 对吧?
比如我添加
编号001 的鞋子 红色 图片地址1:图片地址2:图片地址3....
001 的鞋子 花色 图片地址1:图片地址2:图片地址3:图片地址4....
002 波鞋子 蓝色 图片地址1:图片地址2:图片地址3....
002 波鞋子 白色 图片地址1:图片地址2....
002 ...
是一个颜色 多张图 而不是一张图一条信息
[解决办法]
“颜色表和产品表有主外键关系。”
这句话表达你的思维只有1对多, 其实还有多对多的设计
三张表 Product Picture ProductPictureMapping
当然这样设计还是不够的~
可以参考一些开源项目
我是参考nopCommerce的
[解决办法]
你这个也不可取,你考虑下后台添加图片的时候,难道每添加一张图片就要去填写一下颜色信息?
颜色信息肯定也是需要用一个ID的,后台人员添加的时候选择一个颜色,如果输入文字,会有写错的情况的
你觉得问题在哪里?
一种颜色 有很多 图片 对吧?
比如我添加
编号001 的鞋子 红色 图片地址1:图片地址2:图片地址3....
001 的鞋子 花色 图片地址1:图片地址2:图片地址3:图片地址4....
002 波鞋子 蓝色 图片地址1:图片地址2:图片地址3....
002 波鞋子 白色 图片地址1:图片地址2....
002 ...
是一个颜色 多张图 而不是一张图一条信息
你这个思路看起来还不错。
问题就是后台做起来稍微麻烦点,多张图片拼在一个字段里,在后台如果显示成一个列表,或者修改删除单张图片都需要一个拆分在合并的操作。
对啊,你说得对,我习惯了这么用,,
感觉还可以,
因为一个页面基本就是10张左右的图,
,用JS去split拆分,提交时再合并,感觉还是很容易的,对服务器没影响,
只是客户端用点力执行JS而已,
,
如果你把力道放在服务器上也可以,一下搜几个表搜几条信息后,才能完整显示当前的页面
[解决办法]其实这个问题说简单也简单,说复杂确实够复杂,如果涉及到业务和架构的问题,可能必须描述的更多,别人才能判断。
[解决办法]多张图片拼在一个字段里,
这个就违反了数据库设计规范了~
为什么要将图片放在一个张 然后和其他需要的表mapping呢~
你看他选择颜色的那张和产品的第一张是同一个地址
这样做的目的是为了最大化地利用 减少重复
还有产品详细中的品牌公司图片等等等~ 这些都不是属于特定的一个产品
而这些图片是属于某个供应商的 也需要mapping
其实我说的 Product Picture ProductPictureMapping 还是不够的~
还有产品规格 产品属性等~