ECSHOP添加字段并实现商品批量上传
用了半个小时就实现了整个过程。可见,ECSHOP的二次开发还是非常快速方便的。
以下是一些重要的步骤,仅供参考:
添加ecs_goods表中的自定义字段
ALTER TABLE `ecs_goods` ADD `goods_bianma` varchar(255) NOT NULL AFTER `goods_desc`;ALTER TABLE `ecs_goods` ADD `goods_guige` varchar(255) NOT NULL AFTER `goods_bianma`;ALTER TABLE `ecs_goods` ADD `goods_danwei` varchar(255) NOT NULL AFTER `goods_guige`;ALTER TABLE `ecs_goods` ADD `goods_chandi` varchar(255) NOT NULL AFTER `goods_danwei`;管理员模板目录admin/templates/goods_info.htm 行175 添加 用户自定义字段,如:
<!--用户自定义字段开始--><tr><td>商品编码</td><td><input type="text"name="goods_bianma"value="{$goods.goods_bianma}"size="20"/></td></tr><tr><td>商品规格</td><td><input type="text"name="goods_guige"value="{$goods.goods_guige}"size="20"/></td></tr><tr><td>商品单位</td><td><input type="text"name="goods_danwei"value="{$goods.goods_danwei}"size="20"/></td></tr><tr><td>商品产地</td><td><input type="text"name="goods_chandi"value="{$goods.goods_chandi}"size="20"/></td></tr><!--用户自定义字段结束--管理员目录admin/goods.php 行 901 添加入库和读取用户自定义字段语句
$sql= "UPDATE `ecs_goods` SET `goods_bianma`='{$_POST['goods_bianma']}',`goods_guige`='{$_POST['goods_guige']}',`goods_danwei`='{$_POST['goods_danwei']}',`goods_chandi`='{$_POST['goods_chandi']}'WHERE (`goods_id`='$goods_id') ";$db->query($sql);这里使用更新字段的方式,不用去修改程序本身的SQL,修改起来方便。
然后到模板中就可以使用相关字段进行调用了。
到这里,添加用户自定义字段就完成了。整个过程相对简单明了。接下来为批量上传添加字段。
修改languages/admin/goods_batch.php,添加字段
// 增加的批量上传商品的字段$_LANG['upload_goods']['goods_bianma'] ='商品编码';$_LANG['upload_goods']['goods_danwei'] ='单位';$_LANG['upload_goods']['goods_guige'] ='规格';$_LANG['upload_goods']['goods_chandi'] ='产地';基本上,商品批量上传就已经完成。但由于客户上传的CSV文件不是很标准,于是,我加了一些默认值。admin/goods_batch.php 172行
$arr['is_real'] = 1;$arr['is_on_sale'] = 1;$arr['is_alone_sale'] = 1;$arr['goods_sn'] = ($arr['goods_sn']==''&&$arr['goods_bianma']) ?$arr['goods_bianma'] :'';$arr['goods_weight'] = ($arr['goods_weight']==''&&$arr['goods_guige']) ?$arr['goods_guige'] : 0;$arr['goods_number'] = !$arr['goods_number'] ? 100 : 0;
至此,整个实例完成。
整个过程,是在阅读获取CSV字段时,花了比较多时间,没想到EC是按语言项来获取字段的。了解以后便发现扩展性非常强。
下
赞 (0)
