关于ECSHOP分类下的商品调用显示商品重量

2016-09-11 20:38 来源:www.chinab4c.com 作者:ecshop专家

本文所说的ECSHOP首页分类下的商品,对应的后台管理位置是 “ECSHOP后台 》模板管理 》设置模板 》首页模板 》分类下的商品 ”,大家不要理解错了。这个区域的商品默认是没有显示重量的,下面我们就来改造一下,让重量也能显示出来,修改完以后的效果图如下。


1、

修改includes/lib_goods.php,定位到 assign_cat_goods 函数部分,大概在 750行左右
找到
$sql = 'SELECT g.goods_id, g.goods_name, g.market_price, g.shop_price AS org_price, ' .
修改为
$sql = 'SELECT g.goods_id, g.goods_weight, g.goods_name, g.market_price, g.shop_price AS org_price, ' .

考虑到不同商品的重量单位可能会不一样(千克或克),所以我们紧接着往下找到(注意不要超出assign_cat_goods 函数范围内)

$goods[$idx]['id'] = $row['goods_id'];

在它下边增加一段PHP代码

$goods[$idx]['goods_weight'] = (intval($row['goods_weight']) > 0) ?
$row['goods_weight'] . $GLOBALS['_LANG']['kilogram'] :
($row['goods_weight'] * 1000) . $GLOBALS['_LANG']['gram'];

因为这个文件里有好多处 $goods[$idx]['id'] = $row['goods_id'];  所以大家在找的时候,一定不要超出 assign_cat_goods 函数的范围。

2、
ECSHOP程序代码已经修改了,然后就要考虑怎么调用了,继续打开 themes/模板文件夹/library/cat_goods.lbi 文件。
想在哪里显示重量就在哪里加代码 {$goods.goods_weight} 
如果你使用的是官方默认模板,你可以加在 <!--{/if}--> 下边。