修正ecshop报错number_format()

ecshop前台提交订单的时候

Warning: number_format() expects parameter 1 to be double, string given in \includes\lib_common.php on line 959 Warning: number_format() expects parameter 1 to be double, string given in \includes\lib_common.php on line 959

遇到这样的报错:

原因:配送插件里面的免费额度为0,ec本身的bug导致了$price的值为空值,直接调用number_format出现了错误

修改方法:

将includes\lib_common.php
else
{
$price = number_format($price, 2, ‘.’, ”);
}

修改为

else 
{
if(!$price){
$price = 0;
}
$price = number_format($price, 2, ‘.’, ”);
}

但是在后台编辑订单,编辑配送方式的时候又有这样的错误:

确实是因为免费额度获取的问题,在PHP5.3上报错,但获取到的应该是一个字符串,所以出错,应该这样改:
function price_format($price, $change_price = true)
{
$price = 0 + $price;//添加这一行,转换成数值

(0)

相关推荐