使用Custome Group折扣时,Prestashop 1.6产品显示出错误的价格组合



prestashop 1.6.1.10

创建组合和客户群折扣的产品时,产品页面显示价格而无需折扣。

但是,当您将产品添加到购物车时,则适用折扣。

请参阅具有组合和组折扣的产品

i通过控制器 front productcontroller.php

在以下代码上求解

添加功能:

protected function getGroupReduction() {
    $id_customer = (isset($this->context->customer) ? (int)$this->context->customer->id : 0);
    $id_group = (int)Group::getCurrent()->id;
    $id_country = $id_customer ? (int)Customer::getCurrentCountry($id_customer) : (int)Tools::getCountry();
    $group_reduction = GroupReduction::getValueForProduct($this->product->id, $id_group);
    if ($group_reduction === false) {
        $group_reduction = Group::getReduction((int)$this->context->cookie->id_customer) / 100;
    }
    return $group_reduction;
}

更换行467:

$combinations[$row['id_product_attribute']]['price'] = (float)Tools::convertPriceFull($row['price'], null, Context::getContext()->currency, false);

使用以下行:

            $group_reduction = $this->getGroupReduction();
            $price = $row['price'] - $row['price']* $group_reduction;
            $combinations[$row['id_product_attribute']]['price'] = (float)Tools::convertPriceFull($price, null, Context::getContext()->currency, false);

相关内容

最新更新