Скидка группы на товар, имеющий специальную цену для этой группы

  • 1 Ответов
  • 263 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Добрый день! VirtueMart 1.1.2. При создании группы покупателей и скидки для неё подсказка гласит: "Положительное значение Х означает: если товару не назначена цена для ЭТОЙ группы покупателей, то цена по умолчанию уменьшается на Х %". Однако, в реальности магазин берёт специальную цену товара для группы и применяет к ней скидку для этой группы.
Пример:
Цена товара 100,
группа "А" имеет скидку на все товары 10%,
на данный товар нужна фиксированная цена для всех постоянных клиентов - 95, вне зависимости от размера их постоянной скидки,
поэтому мы создаём специальную цену на данный товар для группы "А" - 95,
но магазин берёт цену для группы 95 и применяет к ней групповую скидку 10%, результат - 85,5.

Как я понимаю, нужно внести дополнительную проверку на наличие у товара спец цены для группы.
В Ps_product.php в районе 1720 строки происходит подсчет цены со скидкой группы, уже задано условие для проверки нет ли на товар обычной скидки, чтобы не суммировалась со скидкой группы. Работает замечательно. Как правильно добавить условие на наличие спец цены для группы? "Если на товар есть цена для данной группы, то"

$discount_info = $this->get_discount( $product_id );
if ($discount_info [amount] > 0)
{
$price_info["product_price"]= $db->f("product_price");
}else
{
$price_info["product_price"]= $db->f("product_price") * ((100 - $auth["shopper_group_discount"])/100);
}

В представленном фрагменте кода, насколько я понимаю, как раз проверяется наличие цены на товар для данной группы.
Спойлер
[свернуть]
Похоже, что тут проверка на наличие цены идёт
[php]if( !isset($resultcache[$sig])) [/php]
Пытаюсь понять, куда надо вставить
[php] $price_info["product_price"]= $db->f("product_price") * ((100 - $auth["shopper_group_discount"])/100)[/php]чтобы групповая скидка работала избирательно.
Кто сможет помочь?