Prestashop 1.6.1.10
创建具有组合和客户群折扣的产品时,产品页面会显示没有折扣的价格。
但是当您将产品添加到购物车时,折扣适用。
答案 0 :(得分:1)
我通过controller \ 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);