文章浏览 复制本页面地址

ecshop后台添加商品--商品重量单位添加

ecshop后台增加产品的时候,往往需要调整产品重量,调整产品重量单位,ecshop产品重量单位的存储,有很多的缺点和漏洞,比如填写"克",小数点不能保留到最后两位.
很多朋友想灵活的调整ecshop后台产品重量单位,如何调整默认的重量单位呢,将克转换为千克?
1:如何调整单位的文字"千克"转换为公斤
很简单,languages/zh_cn/admin/goods.php语言包中,
$_LANG['unit_g'] = '克';
$_LANG['unit_kg'] = '公斤';

$_LANG['unit_wt2'] = '盒';

同样在前端 languages/zh_cn/common.php 也加入以上信息.
这些,就可以随便调整名称。
2:如何调整默认的单位为"克"
先看admin/templates/goods.htm下面,
<select name="weight_unit">
{html_options options=$unit_list selected=$weight_unit}
</select>
这里就是用来控制单位名称的,如果你需要调整他,在 lib_goods.php中,找到函数
function get_unit_list()
{
return array(
'0.001' => $GLOBALS['_LANG']['unit_g'],
'1'    => $GLOBALS['_LANG']['unit_kg'],

'2'    => $GLOBALS['_LANG']['unit_wt2'],
);
}

把这个方法剪切到 外层公共include/lib_common.php 底部. 供给前台使用

//修改数据库结构

ALTER TABLE `qdm114844622_db`.`ecs_goods` ADD COLUMN `weight_unit` VARCHAR(10) NULL COMMENT '商品单位' AFTER `salesnum`;

修改 goods.php

elseif ($_REQUEST['act'] == 'add' || $_REQUEST['act'] == 'edit' || $_REQUEST['act'] == 'copy')

里面的

//$smarty->assign('weight_unit', $is_add ? '1' : ($goods['goods_weight'] >= 1 ? '1' : '0.001'));
改为
$smarty->assign('weight_unit', $is_add ? '1' : $goods['weight_unit']);

elseif ($_REQUEST['act'] == 'insert' || $_REQUEST['act'] == 'update')

下面的

//修改--
//$goods_weight = !empty($_POST['goods_weight']) ? $_POST['goods_weight'] * $_POST['weight_unit'] : 0;
改为
$goods_weight = !empty($_POST['goods_weight']) ? $_POST['goods_weight'] : 0;
新增
$weight_unit  = $_POST['weight_unit'];

修改sql 2条都改:

suppliers_id,weight_unit)   对应 值  '$suppliers_id','$weight_unit')"; [简写]
设置两者换算的比例就可以,在后台goods.php中,修改 $smarty->assign('weight_unit', $is_add ? '1' : $goods['weight_unit']);保存刷新,就是你要的结果.默认选择了"克"

 

接下来,修改其他页面显示问题.

修改前端  include/lib_goods.php

/* 修正重量显示 */
/*

$row['goods_weight']  = (intval($row['goods_weight']) > 0) ?

$row['goods_weight'] . $GLOBALS['_LANG']['kilogram'] :

($row['goods_weight'] * 1000) . $GLOBALS['_LANG']['gram'];

*/

改为

$danwei = get_unit_list();
$row['goods_weight']  = $row['goods_weight'] . $danwei[$row['weight_unit']];

 

 

标签:
上一篇:
下一篇: