首页 » 二次开发 » 阅读文章
ecshop商品属性功能强大,有很强的灵活性
特别是可选属性,利用的好可以实现多种常见促销策略。比如选购商品相关配件、加N元换购、多组商品任意组合价格相同(如两组商品中分别任选一件组合价99元,详见http://bbs.ecshop.com/viewthread.php?tid=96310&page=1#pid480851)等。
下面介绍为可选属性添加图片的功能,比如一款商品有黑色和白色款,在颜色相关选项处放上实物照片,供用户选择参考;又如一款商品相关配件,放上图片供参考。
无图无真相,贴图如下仅供参考:

数据库中为商品属性表添加一个字段,SQL语句为:
1 |
ALTER TABLE `ecs_goods_attr` ADD COLUMN `thumb` VARCHAR(255) NOT NULL AFTER `attr_price`; |
/admin/includes/lib_goods.php
函数 get_attr_list 中SQL语句查询处添加v.thumb(行535附近)
也就是将
1 |
$sql = "SELECT a.attr_id, a.attr_name, a.attr_input_type, a.attr_type, a.attr_values, |
2 |
v.attr_value, v.attr_price " |
改为
1 |
$sql = "SELECT a.attr_id, a.attr_name, a.attr_input_type, a.attr_type, a.attr_values, |
2 |
v.attr_value, v.attr_price, v.thumb " |
函数 build_attr_html 最后(行601附近)
1 |
$html .= ($val['attr_type'] == 1 || $val['attr_type'] == 2) ? |
2 |
$GLOBALS['_LANG']['spec_price'].' <input type="text" name="attr_price_list[]" value="' . $val['attr_price'] . '" size="5" maxlength="10" />' : |
3 |
'<input type="hidden" name="attr_price_list[]" value="0" />'; |
改为:
1 |
$html .= ($val['attr_type'] == 1 || $val['attr_type'] == 2) ? |
2 |
$GLOBALS['_LANG']['spec_price'].' <input type="text" name="attr_price_list[]" value="' . $val['attr_price'] . '" size="5" maxlength="10" /> thumb_url <input type="text" name="thumb_list[]" value="' . $val['thumb'] . '" size="20" />' : |
3 |
'<input type="hidden" name="thumb_list[]" value="" /><input type="hidden" name="attr_price_list[]" value="0" />'; |
/admin/goods.php
(行940附近)
1 |
$attr_price = $_POST['attr_price_list'][$key]; |
处相应添加
1 |
$thumb = $_POST['thumb_list'][$key]; |
搜索此文档中所有 attr_price ,相应添加 thumb 项
/includes/lib_goods.php
函数 get_goods_properties 中加入thumb信息
SQL中加入g.thumb(行653附近)
返回数组中(行653附近)相应增加一行
1 |
'thumb' => $row['thumb'], |
剩下的就是模板的事了,循环{$specification}中的值,对照属性加价使用的变量(或标签)相应的使用{$value.thumb}来调用。
要进一步完善,还可相应增加网址字段,这样就可以查看相关属性更详细的信息和更清晰的图片。




评论 共0条 (RSS 2.0) 发表评论