十五、属性管理 1、首先应该对其创建相应的数据表,由于商品的属性可能有单个也可能有多个,所以在创建数据表时应该添加一个字段来控制属性的类型,录入方式和列表选择的默认值。 2、首先创建相应的控制器AttributeController.class.php,控制器中增加方法来加载模板。获取之前商品类型中的所有数据,并通过assign和display方法来渲染模板。 3、完成商品属性的添加功能,在添加属性时,添加单选选项:属性类型的唯一和单选、属性录入方式的手动输入和列表选择。当属性录入方式为手动输入时,需要将用户输入的文本框禁用掉,在选择列表选择时取消禁用。并添加事件,当录入方法切换时将文本框里的内容清空。 4、然后在控制器中创建生成模型的方法,然后接收表单提交过来的数据并验证后写入数据库。然后创建模型AttributeModel.class.php,模型中定义字段验证,并完成自动验证。 5、属性列表的显示,创建方法来获取数据,然后通过assign和display方法来渲染模板,并添加方法来实现列表分页功能。然后修改模板文件,通过volist标签将数据循环遍历显示出来。 6、属性的编辑,在控制器中添加方法,通过I函数中的get方法来获取要编辑的属性的ID,并在修改过后将数据写入数据库,然后修改模板文件。 7、属性的删除,在控制器中实现属性的删除操作,通过I函数中的get方法来获取要删除的属性的ID,在模型中添加删除方法来实现具体的删除操作。 十六、商品与属性的关联1、实现在商品添加时就将属性一起提交入库。分析可以在添加分类的模板中添加一个选项卡功能,不同对的选项卡可以提供不同操作。要实现选项卡首先要在添加分类的模板文件添加商品属性的选项卡,并使用JavaScript代码实现点击切换选项卡,即在点击时隐藏和显示不同的内容。 2、然后显示所有类型,在商品控制器中获取所有的类型信息,然后渲染模板。模板文件中需要使用volist标签来将类型信息循环遍历出来。然后根据类型的切换显示出属性,修改模板文件,添加属性显示的标志,然后增加Ajax代码来获取当前被选中的类型的标识。然后在控制器中增加方法来获取数据。通过连贯操作查询出数据,然后增加foreach循环来遍历出列表选择方式的数据,然后在模板文件中通过volist标签来显示用户所选择的下拉选项。 3、单选属性增加功能,首先为单选属性增加一个特殊符号或按钮,当用户点击特殊符号或按钮时增加一个可添加属性的选择框,添加点击事件,通过获取父元素的tr标签,然后复制这个标签并显示并将符号中加号+改为减号-,并把减号的事件改为删除元素。 4、属性信息的入库,创建商品属性表包括商品ID、属性ID和属性值。在商品模型中添加方法来实现数据的入库。通过I函数中对的post方法来获取数据,由于数据是数组格式,所以需要使用foreach循环遍历数组来实现数据入库。 5、修改商品时修改属性,首先应该获取到原始信息,在控制器中通过select方法来获取所有的类型,然后使用连贯操作查询出当前商品对应的属性信息。然后修改编辑的模板文件,通过volist标签将信息循环遍历显示,并增加eq判断来选中之前的信息。 6、属性修改入库,首先在商品模型中通过I函数中的post方法获取要修改的属性的ID,删除掉之前的属性信息,然后将新信息写入数据库中。然后创建商品属性模型GoodsAttrController.class.php。模型中定义验证字段包括ID,商品ID,属性ID,属性值。与数据表中的字段名称相一致,然后增加方法,使其对传过来的数据进行循环遍历。修改商品模型的后置钩子函数中,增加对商品属性的入库操作。实现在商品修改时,将商品属性也写入数据库的操作。 7、编辑时对商品属性显示进行完善。首先在控制器中将数据格式化,并修改模板文件使其显示出来。
|