17Apr

ECSHOP二次开发:添加字段并实现批量上传

浏览:
评论:0

只用了半个小时就实现了整个过程。可见,ECSHOP的二次开发还是非常快速方便的。

以下是一些重要的步骤,仅供参考:

  1. 添加ecs_goods表中的自定义字段
     
    1 ALTER TABLE `ecs_goods` ADD `goods_bianma` varchar(255) NOT NULL AFTER `goods_desc`;
    2 ALTER TABLE `ecs_goods` ADD `goods_guige` varchar(255) NOT NULL AFTER `goods_bianma`;
    3 ALTER TABLE `ecs_goods` ADD `goods_danwei` varchar(255) NOT NULL AFTER `goods_guige`;
    4 ALTER TABLE `ecs_goods` ADD `goods_chandi` varchar(255) NOT NULL AFTER `goods_danwei`;
  2. 管理员模板目录admin/templates/goods_info.htm 行175 添加 用户自定义字段,如:
     
    01 <!--用户自定义字段开始-->
    02           <tr>
    03             <td>商品编码</td>
    04             <td><input type="text" name="goods_bianma" value="{$goods.goods_bianma}" size="20" />
    05             </td>
    06           </tr>
    07           <tr>
    08             <td>商品规格</td>
    09             <td><input type="text" name="goods_guige" value="{$goods.goods_guige}" size="20" />
    10             </td>
    11           </tr>
    12           <tr>
    13             <td>商品单位</td>
    14             <td><input type="text" name="goods_danwei" value="{$goods.goods_danwei}" size="20" />
    15             </td>
    16           </tr>
    17           <tr>
    18             <td>商品产地</td>
    19             <td><input type="text" name="goods_chandi" value="{$goods.goods_chandi}" size="20" />
    20             </td>
    21           </tr>
    22           <!--用户自定义字段结束--
  3. 管理员目录admin/goods.php 行 901 添加入库和读取用户自定义字段语句
     
    1     /* 更新用户自定义字段 */
    2     $sql = "UPDATE `ecs_goods` SET  `goods_bianma`='{$_POST['goods_bianma']}',
    3             `goods_guige`='{$_POST['goods_guige']}',
    4             `goods_danwei`='{$_POST['goods_danwei']}',
    5             `goods_chandi`='{$_POST['goods_chandi']}'
    6     WHERE (`goods_id`='$goods_id')  ";
    7     $db->query($sql);

    这里使用更新字段的方式,不用去修改程序本身的SQL,修改起来方便。

  4. 然后到模板中就可以使用相关字段进行调用了。

到这里,添加用户自定义字段就完成了。整个过程相对简单明了。接下来为批量上传添加字段。

  1. 修改languages/admin/goods_batch.php,添加字段
     
    1 // 增加的批量上传商品的字段
    2 $_LANG['upload_goods']['goods_bianma'] = '商品编码';
    3 $_LANG['upload_goods']['goods_danwei'] = '单位';
    4 $_LANG['upload_goods']['goods_guige'] = '规格';
    5 $_LANG['upload_goods']['goods_chandi'] = '产地';
  2. 基本上,商品批量上传就已经完成。但由于客户上传的CSV文件不是很标准,于是,我加了一些默认值。admin/goods_batch.php 172行
     
    1                     /* EDIT BY admin@4wei.cn */
    2                     $arr['is_real'] = 1;
    3                     $arr['is_on_sale'] = 1;
    4                     $arr['is_alone_sale'] = 1;
    5                     $arr['goods_sn'] = ($arr['goods_sn']=='' && $arr['goods_bianma']) ? $arr['goods_bianma'] : '';
    6                     $arr['goods_weight'] = ($arr['goods_weight']=='' && $arr['goods_guige']) ? $arr['goods_guige'] : 0;
    7                     $arr['goods_number'] = !$arr['goods_number'] ? 100 : 0;

至此,整个实例完成。

整个过程,是在阅读获取CSV字段时,花了比较多时间,没想到EC是按语言项来获取字段的。了解以后便发现扩展性非常强。

Tags:ECSHOP  
发布:DT27 分类:PHP 引用:0

评论列表

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。