修改\application\common\fun\shop.php下get_price方法;
商品多属性可以设置不同的价格,但多属性中的价格对vip无效,下面稍作修改,先计算vip价格与促销价格的比例,比如0.9,若在商品属性一中设置的价格为200的话,vip会员最终下单价格为200*0.9=180元;
/** * 取得商品的实际价格,商品第一个属性1可以自定商品价格 * 务必注意: 第二项,取得商品的实际价格,因为属性1可以定义价格, 如果从购物车取出的数据,数组下标要减1,因为购物车入库时加了1 * @param array $info 商品信息 * @param number $key 用户选中属性1的具体某项 如果从购物车取出的数据,数组下标要减1,因为购物车入库时加了1 */ public static function get_showprice($info = [], $key = 0) { $value = self::type_get_title_price('type1', $info, $key, 'price'); if ($value > 0) { if (isset($info['vip_price']) && $info['vip_price'] > 0) { //存在VIP价格 $discount = round($info['vip_price'] / $info['price'], 2);//计算vip折扣 if ($value > 0) { $info['vip_price'] = round($value * $discount, 2); //享受VIP价 } return $info['vip_price']; //享受VIP价 } else { return $value; } } return $info['price']; } public static function get_price($info = [], $key = 0) { // $value = self::type_get_title_price('type1',$info,$key,'price'); // if($value>0){ // return $value; // }else{ // if (isset($info['vip_price']) && $info['vip_price']>0) { //存在VIP价格 // $webdb = config('webdb'); // $gid = login_user('groupid'); // if ($webdb['group_vip_price'] && in_array($gid, $webdb['group_vip_price'])) { // return $info['vip_price']; //享受VIP价 // } // } // return $info['price']; // } $value = self::type_get_title_price('type1',$info,$key,'price'); if($value>0) { if (isset($info['vip_price']) && $info['vip_price'] > 0) { //存在VIP价格 $discount = round($info['vip_price'] / $info['price'], 2);//计算vip折扣 $webdb = config('webdb'); $gid = login_user('groupid'); if ($webdb['group_vip_price'] && in_array($gid, $webdb['group_vip_price'])) { if ($value > 0) { $info['vip_price'] = round($value * $discount, 2); //享受VIP价 } return $info['vip_price']; //享受VIP价 }else { return $value; } } } return $info['price']; }
使用jq获取data-vipprice的值即可;
模板联动方法:
{notempty name="array1"} <ul class="shoptype1"> <ol>{$field_array.type1.title}</ol> <li> {volist name="array1" id="rs"} {:fun('shop@get_price',$info,$key)} <div data-price="{$rs.price}" data-num="{$rs.num===null?-1:$rs.num}" data-vipprice="{:fun('shop@get_showprice',$info,$key)}">{$rs.title}</div> {/volist} </li> </ul> {/notempty}
下载附件覆盖\application\common\fun\shop.php