商品总重量用于计算邮费,让买家容易下判断。默认的购物车环节有两个:查看购物车的商品、结算,默认两个环节都不显示商品总重量。
默认有个现成的函数的cart_weight_price($type),是把购物车中的单价、重量、数量调出来汇总,模板变量也写好 了:$formated_weight,只需要定义一下模式,在模板上添加代码就可以了。不过这种方法只能显示购物车的总重量,不能显示单个商品的重量。
$smarty->assign("cart_weight_price",$cart_weight_price);
{$cart_weight_price.formated_weight}
不过这种方法只能显示购物车的总重量,不能显示单个商品的重量。如果要显示单重,没有现成的函数或代码,得自己写一个。
调出单重
$row['goods_weight'] = $GLOBALS['db']-> getOne("select goods_weight from".$GLOBALS['ecs']->table('goods')." where goods_id = ".$row['goods_id']);
计算总重
$total['all_weight'] += $row['goods_weight'] * $row ['goods_number'];
默认都是按克显示的,可以分成公斤和克分别显示,大于1公斤的,显示公斤,小于1公斤的,显示克,格式化一下重量
$row['goods_weight'] = formated_weight($row['goods_weight']);
$total['all_weight'] = formated_weight($total['all_weight']);
模板代码:
{$all_weight}
ecshop 购物流程页面显示商品总重量
1、打开flow.php
找到
$smarty->assign('shipping_list', $shipping_list);
$smarty->assign('insure_disabled', $insure_disabled);
$smarty->assign('cod_disabled', $cod_disabled);
后面添加代码:
$smarty->assign('zhongliang', sprintf($_LANG['zhongliang'], $cart_weight_price['formated_weight']));
2、打开 /languages/zh_cn/shopping_flow.php 加上如下代码
$_LANG['zhongliang'] = '订单总重量: %s';
3、然后在flow.dwt中调用{$zhongliang}
flow.dwt中的代码:
<tr>
<td bgcolor="#ffffff" colspan="7" class="f1 f14b">
<!-- {if $discount gt 0} -->{$your_discount}<br /><!-- {/if} -->
{$shopping_money}<!-- {if $show_marketprice} -->,{$market_price_desc} <!--{/if}--> {$zhongliang}</td>
</tr>
<!-- {/if} -->
新闻热点
疑难解答