fecwbbc

问题咨询 · adf123 · 于 2年前 发布 · 861 次阅读

大象网修改了首页导航的分类导航的关键词标题,导致点击经销商页面报错。但是其他经销商可以进入

共收到 3 条回复
Fecmall#12年前 0 个赞

当价格price设置为0,但特价special_price有不为0的情况下就会出现报错

加入了分母是否为0的判断,代码如下:

@fecwbbc/services/product/Price.php

函数代码替换:

public function getCurrentCurrencyProductPriceInfo2($price, $special_price, $special_from, $special_to, $special_price_count, $special_price_sale_count)
    {
        $price = (float)$price;
        $special_price = (float)$special_price;
        $special_from = (int)$special_from;
        $special_to = (int)$special_to;
        $this->currentOff = 0;
        $price_info = $this->formatPrice($price);
        $return['price'] = [
            'symbol'    => $price_info['symbol'],
            'value'    => $price_info['value'],
            'code'        => $price_info['code'],
        ];
        $specialIsActive = $this->specialPriceisActive2($price, $special_price, $special_from, $special_to, $special_price_count, $special_price_sale_count);
        if ($specialIsActive) {
            $special_price_info = Yii::$service->product->price->formatPrice($special_price);
            $return['special_price'] = [
                'symbol'        => $special_price_info['symbol'],
                'value'         => $special_price_info['value'],
                'code'          => $special_price_info['code'],
            ];
            if ($price_info['value'] > 0) {
                $off = ($price_info['value'] - $special_price_info['value']) / $price_info['value'];
                $this->currentOff = round($off * 100);
            }
        }
        // 是否是正在秒杀的产品
        if (Yii::$service->seckill->isActiveSecKillingProduct([
            'price' => $price,
            'special_price' => $special_price,
            'special_from' => $special_from,
            'special_to' => $special_to,
            'special_price_count' => $special_price_count,
            'special_price_sale_count' => $special_price_sale_count,
        ])) {
            $special_to = ($special_to > time()) ? $special_to : 0;
            $days = floor(($special_to - time()) / ( 3600 * 24 ));
            $hours = floor(($special_to - time()) % ( 3600 * 24 ) / 3600);
            $mins = floor((($special_to - time()) % 3600) / 60);
            $seconds = floor(((($special_to - time()) % 3600) % 60) % 60 );
            $return['seckill'] = [
                'is_seckilling' => true, 
                'end_time' => $special_to, 
                'end_days' => $days >= 10 ? $days : '0'.$days, 
                'end_hours' => $hours >= 10 ? $hours : '0'.$hours, 
                'end_mins' => $mins >= 10 ? $mins : '0'.$mins, 
                'end_seconds' => $seconds >= 10 ? $seconds : '0'.$seconds, 
                'total_count' => $special_price_count, 
                'sale_count' => $special_price_sale_count, 
            ];
        }

        return $return;
    }

代码已经更新并发版,您可以在后台,应用中心,升级fecwbbc搞定。(1.3.1版本)

Fecmall#22年前 0 个赞

报错信息请写到title里面!

adf123#32年前 0 个赞

好的 谢谢

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics