17Apr
ECSHOP二次开发:添加字段并实现批量上传
浏览:
评论:0
只用了半个小时就实现了整个过程。可见,ECSHOP的二次开发还是非常快速方便的。
以下是一些重要的步骤,仅供参考:
- 添加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`;
- 管理员模板目录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
<!--用户自定义字段结束--
- 管理员目录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,修改起来方便。
- 然后到模板中就可以使用相关字段进行调用了。
到这里,添加用户自定义字段就完成了。整个过程相对简单明了。接下来为批量上传添加字段。
- 修改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'
] =
'产地'
;
- 基本上,商品批量上传就已经完成。但由于客户上传的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是按语言项来获取字段的。了解以后便发现扩展性非常强。
相关文章
评论列表
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。