不同分类的商品动态添加属性(吴康彬发表于2009-2-9 10:32:35)
2017-10-18 00:00
246 查看
在开发多用户的购物平台时,经常会碰到完全不同类型的几种产品,他们的属性很多都是不一样的。所以,在设计数据库的表字段时,不可能一个个都列出来。因为很多时候,产品的属性都不定的。下面我给大家讲解下,如何给不同分类的商品动态添加属性。
下面列举下几种不同的产品类型:
女装、鞋子、手机、游戏卡、化妆品等等
女装的属性有:颜色、尺码、腰围、胸围、价格、季节、面料、品牌、产地等等
鞋子的属性有:颜色、尺码、跟高、样式、品牌、季节、材料、价格、产地
手机的属性有:基本参数、产品外形、拍照功能、娱乐功能、颜色、尺寸、产地、价格、品牌、生产时间等
化妆品的属性:型号、材质、产地、出厂日期、保质期、品牌、价格、尺寸、规格、颜色等
看看,就这么几个分类,已经有那么多的属性。大家仔细看看,其实这些属性当中有几个属性是大家都有的,比如:颜色、尺码、价格、产地、品牌等。另外的几个都是私有的属性。
然后再看,很多属性其实数据是定死的,就是说可以把属性的值列举出来:
比如说
颜色:可以分:红色,白色,绿色等。
产地:浙江杭州、广东广州。
品牌:携购网、携购独立网店系统等
我们把这些统称为实例数据,当然相反,也有很多属性我们必须是要手动录入数据的。包括拍照功能、腰围、适合年龄范围等。
接下去,我们使用C# 的类来讲解具体的设计思路:
产品类别的类定义:
public class Category{
public int m_id; //类别的ID
public string m_name ; //类别名称
public string m_root; //类别的路径,->0->1->2->
public int m_parent; //父级的Id
public int m_depth; //路径深度
}
类别属性类的定义:
public class Attribute{
public int m_id; //属性的ID
public int m_name ; //属性的名称
public string m_value; //属性值
public int m_type; //属性的类型,单行文本,选择框,多选框,多行文本等等。这里可以随便你设置,
}
属性实例类的定义:
public class Instance{
public int m_id; //属性实例的ID
public string m_name; // 属性实例的名称
public string m_value; //属性实例值
public int m_attributeId; //属性ID
}
最后我们需要定义一个产品类别与属性对应的类:
public class CateAttribute{
public int m_id; //编号ID
public int m_attributeId; //属性的ID
public int m_cateId; //类别的ID
}
有了以上的关系表之后,我们就可以在后台动态、任意的增加属性到对应的类别了。该表(类)的定义由国内优秀的独立购物网店系统供应商ShopXG携购网提供,在这里表示感谢!
下面列举下几种不同的产品类型:
女装、鞋子、手机、游戏卡、化妆品等等
女装的属性有:颜色、尺码、腰围、胸围、价格、季节、面料、品牌、产地等等
鞋子的属性有:颜色、尺码、跟高、样式、品牌、季节、材料、价格、产地
手机的属性有:基本参数、产品外形、拍照功能、娱乐功能、颜色、尺寸、产地、价格、品牌、生产时间等
化妆品的属性:型号、材质、产地、出厂日期、保质期、品牌、价格、尺寸、规格、颜色等
看看,就这么几个分类,已经有那么多的属性。大家仔细看看,其实这些属性当中有几个属性是大家都有的,比如:颜色、尺码、价格、产地、品牌等。另外的几个都是私有的属性。
然后再看,很多属性其实数据是定死的,就是说可以把属性的值列举出来:
比如说
颜色:可以分:红色,白色,绿色等。
产地:浙江杭州、广东广州。
品牌:携购网、携购独立网店系统等
我们把这些统称为实例数据,当然相反,也有很多属性我们必须是要手动录入数据的。包括拍照功能、腰围、适合年龄范围等。
接下去,我们使用C# 的类来讲解具体的设计思路:
产品类别的类定义:
public class Category{
public int m_id; //类别的ID
public string m_name ; //类别名称
public string m_root; //类别的路径,->0->1->2->
public int m_parent; //父级的Id
public int m_depth; //路径深度
}
类别属性类的定义:
public class Attribute{
public int m_id; //属性的ID
public int m_name ; //属性的名称
public string m_value; //属性值
public int m_type; //属性的类型,单行文本,选择框,多选框,多行文本等等。这里可以随便你设置,
}
属性实例类的定义:
public class Instance{
public int m_id; //属性实例的ID
public string m_name; // 属性实例的名称
public string m_value; //属性实例值
public int m_attributeId; //属性ID
}
最后我们需要定义一个产品类别与属性对应的类:
public class CateAttribute{
public int m_id; //编号ID
public int m_attributeId; //属性的ID
public int m_cateId; //类别的ID
}
有了以上的关系表之后,我们就可以在后台动态、任意的增加属性到对应的类别了。该表(类)的定义由国内优秀的独立购物网店系统供应商ShopXG携购网提供,在这里表示感谢!
相关文章推荐
- 不同分类的商品动态添加属性(吴康彬发表于2009-2-9 10:32:35)
- 不同分类的商品动态添加属性
- 不同分类的商品动态添加属
- 笔记:利用 runtime 交换方法、给分类动态添加属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- iOS在分类中添加属性,运行时编程,objc runtime 动态增加属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- 分类categories动态添加方法和属性
- iOS分类中通过runtime添加动态属性
- 通过运行时动态给OC分类添加属性
- RunTime应用--动态给分类添加属性
- Runtime消息机制,交换方法,动态添加方法,分类添加属性
- JAVA“动态”为类添加属性
- js为object动态添加属性
- Android学习探索之App多渠道打包及动态添加修改资源属性
- php34-2-2添加商品分类的页面的无限极分类的总结
- jsp页面中动态添加上传输入项注意的问题:“添加上传文件”按钮的name属性值不能和onclick属性的值相同!!!
- android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)