日期:2014-05-17  浏览次数:20564 次

象京东商城那种商品筛选要怎么实现?
比如这个例子
http://www.360buy.com/products/737-752-753-0-0-0-0-0-0-0-1-1-1.html
电饭煲 - 商品筛选
关键在于对不同的商品类别,有不同筛选条件,筛选内容又是多样变化的,从数据库设计到程序实现,要怎么做种呢。
请提供经验和思路,谢谢。

------解决方案--------------------
帮顶一下
------解决方案--------------------
这个,变动比较少的话,可以写个配置文件
------解决方案--------------------
品牌,商品种类之类的都建个表就得了,录入商品的时候要选择对应的属性的。


------解决方案--------------------
“容量”这个输入自定义字段的范畴,自定义字段跟栏目对应好。
------解决方案--------------------
从它的页面html代码来看,应该实现了静态化的,从文件命名来分析:737-752-753-0-0-0-0-0-0-0-1-1-1.html 中:每一个中杠就是一个参数间隔,737表示:家用电器,752:厨房电器,753:电饭煲,等等。
也就是说737-752-753-0-0-0-0-0-0-0-1-1-1.html表示的参数格式为:
分别应该是:

737 -752 -753 -0 -0 -0 -0 -0-0-0-1 -1 -1.html
一级类(如:家用电器)-二级类(如:厨房电器)-三级类(如:电饭煲)-品牌-价格-类别-容量-0-0-0-1-排序方式 -1

其中:容量与排序方式之间有3个0,和1个1,应该扩展用的,比如这个页面:http://www.360buy.com/products/737-794-888-0-0-0-0-0-0-0-1-1-1.html,燃气热水器的参数就多一些:气源,品牌,款式,排烟方式,价格,最大容积L。
最后一个1,可能是表示是否在页面里显示推荐产品,你改成2试试,改3,4,5,都行,说明是此网站做了伪静态处理,应该用URL重写(UrlRewriter 是微软封装好了的一个URL重写组件)实现de.
------解决方案--------------------
仔细分析,其实就会弄明白的
------解决方案--------------------
分类表、商品表 就可以了, 分类表 可以建一级 二级 三级.... ,
查询 都是 自己组合的条件
------解决方案--------------------
学习
------解决方案--------------------
学习
------解决方案--------------------
分类表、品牌表、商品表
分类与品牌关联,商品与分类和平牌都关联
操作流程:
1、添加品牌
2、添加分类,并设置此分类所拥有那些品牌
3、添加产品,(1)选择分类,(2)选择品牌(当然这里选择品牌的时候只读取与所选分类关联的品牌)

前台检索时选择分类时,读出此分类关联的品牌,其他没关联的不用读出就行。
------解决方案--------------------
探讨
引用:
从它的页面html代码来看,应该实现了静态化的,从文件命名来分析:737-752-753-0-0-0-0-0-0-0-1-1-1.html 中:每一个中杠就是一个参数间隔,737表示:家用电器,752:厨房电器,753:电饭煲,等等。
也就是说737-752-753-0-0-0-0-0-0-0-1-1-1.html表示的参数格式为:
分别应该是:

737                -752              -753             -0   -0  -0   -0  -0-0-0-1 -1      -1.html
一级类(如:家用电器)-二级类(如:厨房电器)-三级类(如:电饭煲)-品牌-价格-类别-容量-0-0-0-1-排序方式    -1

其中:容量与排序方式之间有3个0,和1个1,应该扩展用的,比如这个页面:http://www.360buy.com/products/737-794-888-0-0-0-0-0-0-0-1-1-1.html,燃气热水器的参数就多一些:气源,品牌,款式,排烟方式,价格,最大容积L。
最后一个1,可能是表示是否在页面里显示推荐产品,你改成2试试,改3,4,5,都行,说明是此网站做了伪静态处理,应该用URL重写(UrlRewriter 是微软封装好了的一个URL重写组件)实现de.

谢谢关注。
不过您好象没有明白我的意思,我不是说这个伪静态问题,我是说那个筛选如何实现。

------解决方案--------------------
分类、品牌、商品这上面我已提起,就不说了说说属性。
你的意思是如:电视有尺寸、分辨率属性,冷柜类可能有款式、容积的属性,也就是说不同的商品有不同的属性这样是吧?首先要分析一点,同分类的属性值应该是相同,如加湿器他的容积是1.0L以下、1.0L-2.0L、2.1L-3.0L3.1L这样的,也就是说凡是加湿器,管他哪个品牌的他都是这样的。但是冷柜则不同,他的容积是这样分的,100L以下、101-150L、151-200L、201-300L。
我的建表方式:
Brand_List(品牌列表)
id name
1 海尔
2 TCL
3 星星

Product_Category(商品分类)
id parent_id name BrandID_List(这里存放品牌的ID集合)
1 0 家电
2 1 电视 1,2
3 1 冷柜 1,3
4 1 加湿器 1,2,3

Category_attribute(商品分类属性)
id category_id name values
1 2 尺寸 19英寸,20英寸,21英寸
2 2 分辨率 1366*768,166*768
3 3 冷柜容积 100L以下,01-150L