Откройте
templates/gk_storebox/html/com_virtuemart/category/default.php и замените 195 строку:
echo $this->currency->createPriceDiv('basePriceWithTax', '', $product->prices);
на это:
if (round($product->prices['basePrice'],$this->currency->_priceConfig['salesPrice'][1]) != round($product->prices['salesPrice'],$this->currency->_priceConfig['salesPrice'][1])) {
echo $this->currency->createPriceDiv('salesPrice', 'Распродажа: ', $product->prices);
}
else {
echo $this->currency->createPriceDiv('basePrice', '', $product->prices);
}
if (round($product->prices['basePrice'],$this->currency->_priceConfig['salesPrice'][1]) != $product->prices['salesPrice']) {
echo '<span class="price-crossed" >' . $this->currency->createPriceDiv ('basePrice', 'Старая цена: ', $product->prices) . "</span>";
}
echo $this->currency->createPriceDiv ('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $product->prices);
После в CSS файле
templates/gk_storebox/css/vm.css в конце добавьте этот код:
div.catProductPrice div.PricesalesPrice span.PricesalesPrice {
color: #e5372f!important;
}
div.catProductPrice span.PricebasePrice {
text-decoration: line-through;
}
В итоге должно получится так, как показано на скриншоте:
Как видно автоматически рассчиталась скидка на все товары этой категории в размере 20%. В категории указана стоимость товара со скидкой, стоимость без скидки (перечеркнута) и собственно размер скидки.
В данном варианте используются точно такие же настройки как у вас на сайте. Т.е. скидка рассчитывается исходя из настроек правил расчета и регулируется установкой на всю категорию в целом (на все товары в категории).
Настройка правил
Стоимость товара
Доп.поля
Попробуйте сделать эти изменения. Должно все получится. Если не выйдет, то причина может быть в версии VirtueMart, у меня 2.6.14.