分享
  • 收藏
  • 举报
    X
    分享:关于多属性中的价格对vip无效的问题
    688
    12

    修改\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

    以下是隐藏的内容需要回复才可见,你回复后,需要刷新网页才可见!
    ************************************

    6
    赏礼
    赏钱
    收藏
    点击回复
        全部留言
    • 12
    • 黄根 普通粉丝 消费:1510.94元 2021-09-13 11:54 11:546楼
      学习了
    0 赏钱 赏礼回复
    • 银杏114在线 实战运营者 消费:3609.79元 2021-06-24 14:45 14:456楼
      你是越来越牛了
    0 赏钱 赏礼回复
    • Wisdom 白金粉丝 消费:358.18元 2021-06-23 07:21 07:21
      其他手机
      6楼
      再研究下轮播图加上视频就牛X了
    0 赏钱 赏礼回复
    • 悦美乐-4780 普通粉丝 消费:7860.43元 2021-06-22 21:10 21:10
      其他手机
      6楼
      VIP会员显示会员价
    0 赏钱 赏礼回复
    • 网站建设_IT维护外包-超普互联 风格开发者 消费:1826.45元 2021-06-22 17:44 17:446楼
      意思是VIP价格也可以随多属性价格变动了
      网站建设_IT维护外包-超普互联 消费:1826.45元 2021-06-22 17:45


      VIP也可以联动?
      wr1688 消费:2593.25元 2021-06-22 17:46
      嗯,原理是先计算vip_price与price字段的比例
      网站建设_IT维护外包-超普互联 消费:1826.45元 2021-06-22 21:05
      @wr1688 非常感谢指导,这个小细节完善,对运营起到很大作用,没改动前VIP价格是写死的,不能随属性联动,修改后可以随着规格属性变动,并且下单也是按联动后的价格下单,建议官方加上
    0 赏钱 赏礼回复
    • 袁冬 普通粉丝 消费:160.85元 2021-06-22 20:57 20:57
      华为
      6楼
      来学习了
      袁冬 消费:160.85元 华为 2021-06-22 20:58
      龙老大应该安排上才对
    0 赏钱 赏礼回复
    • Wisdom 白金粉丝 消费:358.18元 2021-06-22 20:48 20:486楼
      这个其实挺重要的,官方应该统一升级
    0 赏钱 赏礼回复
    更多回复
        你可能感兴趣的主题
    恢复多功能编辑器
  • 3 1
  • 推荐内容
    扫一扫访问手机版
    请选择要切换的马甲:

     
    网页即时交流
    QQ咨询
    咨询热线
    020-28998648