类型管理
1.1、类型的列表显示
①增加方法
②修改模型增加listData方法
③处理模板
效果如下
1.2、类型的删除
①创建方法
②定义模型的dels方法实现删除
1.3、批量删除功能
①修改模板
效果如下
②实现全选
③实现反选
④点击删除触发ajax
⑤修改dels方法
⑥修改模型中的dels方法
⑦修改前台的js
属性管理
2.1、属性了解
属性作用是用于描述商品信息
2.1.1、单选属性
2.1.2、唯一属性
2.2、属性的录入方式
属性录入方式可以划分为两种。一种手工输入另外一种就是列表选择
关于属性的录入方式就是当描述商品时对应的内容,是使用选择框(列表选择)还是文本框(手工输入)
对于属性内容是属于固定的某几个可以使用列表选择
对于属性的内容是不固定可以使用手工输入
2.3、实现属性入库功能
2.3.1、创建属性的数据表
CREATE TABLE `shop_attribute` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`attr_name` varchar(255) NOT NULL DEFAULT ” COMMENT ‘属性名称’,
`type_id` int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘属性的所属类型 对应shop_type表中的id字段’,
`attr_type` tinyint(4) NOT NULL DEFAULT ‘1’ COMMENT ‘属性本身的类型 1唯一属性 2、单选属性’,
`attr_input_type` tinyint(4) NOT NULL DEFAULT ‘1’ COMMENT ‘属性的录入方式 1手工输入 2列表选择’,
`attr_values` varchar(255) NOT NULL DEFAULT ” COMMENT ‘属性的默认值 多个值使用逗号隔开’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.3.2、显示属性的添加表单
①创建控制器方法显示模板
②创建模板
③修改默认值增加id属性
④使用js实现禁用与取消
2.3.3、实现添加的入库
①修改add方法
②创建模型编写自动验证
2.4、属性列表显示功能
①创建方法获取数据显示模板
②创建listData方法
③处理模板显示
效果如下
2.5、属性的删除
①修改模板中的连接地址
②创建方法实现删除
③在模型下实现删除
2.6、属性编辑
2.6.1、显示原始数据
①创建方法获取原始数据
②处理模板
效果如下
2.6.2、实现入库修改
商品的属性关联
3.1、添加商品时显示类型
①增加商品属性选项卡
②增加商品属性选项卡对应的table
③修改商品添加获取类型
④修改模板循环显示类型
⑤修改商品表结构
⑥修改模型中自定义字段
效果如下
3.2、实现类型切换属性变化
①给select增加id属性
②绑定切换事件
③创建方法
④创建视图
3.3、实现单选属性的增加功能
由于单选属性是用于控制商品购买的。会提供多个值由用户进行选择。因此在数据录入时对于有单选属性的需要设置为可以提交多个内容
①修改模板
②编写js代码
效果如下
3.4、商品添加属性值入库功能
3.4.1、创建商品属性表
CREATE TABLE `shop_goods_attr` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`goods_id` int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘商品ID’,
`attr_id` int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘属性ID 对应attribute表中的id字段’,
`attr_value` varchar(255) NOT NULL DEFAULT ” COMMENT ‘属性值’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3.4.2、实现可以提交属性ID及值
考虑有多个属性值需要提交因此需要使用数组格式
①修改模板设置数组格式的name
②修改添加的提交方法查看结果
③再次修改name值格式
④再次查看结果
⑤再次修改name格式
⑥查看结果
3.4.3、实现入库
①查看添加后置钩子函数传输的结果
②添加后置钩子函数处理属性
结果查看数据表即可
3.5、商品修改属性入库修改
3.5.1、实现显示已有的属性信息
①修改编辑的方法获取已有的属性信息
②查看结果
③继续修改编辑方法获取已有的类型信息
④继续格式化所获取到的属性信息
④继续格式化数据
格式化效果如下
②模板显示数据
最终效果如下