2、每个产品的属性不同,须要可以随时变革;
3、每个产品的属性数量不同,须要可以随时变革;
办理思路:
在产品模型中,利用动态增加的办法,同时增加一组(两个)文本输入框:一个输入属性名称,一个输入属性内容;

之后,利用json_encode()方法将属性名称和属性内容转化为Json格式,然后数据存储到数据库中;读取时,再通过json_decode()方法将其转化为普通的数组,进而方便前端呈现。
操作步骤:第一步:在数据库,product表中创建一个名为“spec”的json格式字段,用于该功能的数据存储;
第二步:给后台的前端增加一个动态输入框的界面样式,并将form表单中的此字段命名为spec;
十分要把稳的是,后台前端传值的name名称,应该定名为 spec[].name和spec[].value,以确保通报到掌握器时,有关键的下标键值。此时,通报过来的数组是一个二维数组。如图:
第三步:
撰写后台前真个“增加”、“删除”功能,同时动态操作绑定js掌握;
第四步:
然后,后台掌握器中吸收传值、验证数据,并对数据进行整理之后,存储到数据中;
一样平常,在掌握器中止定是否为get要求。如果是的时候,将读取spec字段,并转化为数组形式。
此时,数据库中有存在spec这个json数据了,基本算完成了。
第五步
表单末了阶段,分两种情形:
1、新增产品时,spec字段是没有数据的;如果是get要求,且spec不存在的情形下,为表单初始化一组输入框;
2、编辑产品时,spec字段是有数据的;如果是get要求,且spec存在的情形下,为表单初始化相应组的输入框,并在输入框中显示相应的值。
此时,还须要加一个判断,判断spec的数组下标为1时,显示增加;不为1时,显示移除;
个中,volist可以将数组的key读取出来,因此利用volist进行模板渲染。
第五步:
在Api中读取spec字段,并将spec字段中的内容,呈现给前端用户。以下是#微信小程序的前端演示。
综上,基本实现了产品属性的自定义添加功能,快来试试吧!