美文网首页
4、商品规格实现

4、商品规格实现

作者: 海豚的小小海 | 来源:发表于2017-10-14 14:28 被阅读0次

    一、商品描述的保存

    数据库中商品信息和商品描述是分开存储的,因为商品描述是大文本,当我们展示商品列表时,只需要商品信息不需要商品描述,分开存储节省性能。

    二、商品规格

    参考京东商城

    方案一:使用多个表来存储

    1、每一类商品有多个分组
    2、每个分组下有多个项
    3、每个商品对应不同的规格参数

    商品规格.png 表.png

    规格数据的实现


    二维表.png

    方案一存在的问题:

    1、需要创建多张表来描述规格参数之间的关系。
    2、查询时需要复杂的sql语句查询。
    3、规格参数数据量是商品信息的几十倍,数据十分庞大。查询时效率很低。
    4、如果要求新添加的商品规格项发生改变,之前的商品不变,是不能实现的。

    方案二:使用模板的思路实现

    1、每一个商品分类对应一个规格参数模板。
    [
        {
            "group": "主体",  //组名称
            "params": [ // 记录规格成员
                "品牌",
                "型号",
                "颜色",
                "上市年份",
                "上市月份"
            ]
    },
        {
            "group": "网络",  //组名称
            "params": [ // 记录规格成员
                "4G",
                "3G,
                "2G"
            ]
        }
    ]
    
    2、使用模板

    每个商品对应唯一的规格参数。在添加商品时,可以根据规格参数的模板生成一个表单,保存规格参数时,还可以生成规格参数的json数据。保存到数据库

    [
        {
            "group": "主体",
            "params": [
                {
                    "k": "品牌",
                    "v": "苹果(Apple)"
                },
                {
                    "k": "型号",
                    "v": "iPhone 6 A1589"
                },
                {
                    "k": "智能机",
                    "v": "是 "
                }
            ]
        }
    ]
    

    优点:
    1、不需要做多表管理。
    2、如果要求新添加的商品规格项发生改变,之前的商品不变是很简单的。

    缺点:
    复杂的表单和json之间的转换。对js的编写要求很高。

    三、创建规格参数模板

    实现流程


    流程实现.png

    1、选择商品分类,提交规格参数模板

    选择商品分类后根据选择的商品分类到tb_item_param规格参数模板表中取规格模板,取到了说明此商品分类的规格模板已经添加提示不能添加。

    如果没有取得正常添加。

    2、根据规格参数模板生成表单

    在商品添加功能中,读取此商品对应的规格模板,生成表单,供使用者添加规格参数

    3、保存商品的规格参数

    提交表单之前,先把规格参数表单中的内容转换成json数据然后跟商品基本信息、商品描述同时提交给后台。保存至数据库。

    json格式转换.png

    转换后把规格参数的信息放到表单的hidden域中:

    提交数据.png

    随着表单的提交同时提交。

    4、展示规格参数

    当现实商品详情页面时,需要把商品的规格参数根据商品id取出来,生成html展示到页面。

    相关文章

      网友评论

          本文标题:4、商品规格实现

          本文链接:https://www.haomeiwen.com/subject/lnbxuxtx.html