По умолчанию если использовать первый вариант (НДС с нулевой ставкой), то в категории отображаются цены уже со скидками. Пример ниже, товар стоимостью 58490р, указан уже с учетом скидки:
В настройке товара указана полная стоимость и стоимость с учетом скидки:
При желании, вы можете изменить или добавить какую либо информацию. Например указать новую цену и старую цену зачеркнутую. Для этого перейдите к файлу
templates/gk_storebox/html/com_virtuemart/category/default.php, далее перейдите к 195 строке и замените это:
echo $this->currency->createPriceDiv('basePriceWithTax', '', $product->prices);
на это:
echo $this->currency->createPriceDiv('salesPrice', '', $product->prices);
if (round($product->prices['basePriceWithTax'],$this->currency->_priceConfig['salesPrice'][1]) != $product->prices['salesPrice']) {
echo '<span class="price-crossed" >' . $this->currency->createPriceDiv ('basePriceWithTax', '', $product->prices) . "</span>";
}
На выходе получите отображение стоимости со скидкой и стоимость без скидки (зачеркнутую). См. скриншот ниже:
Можно также немного "приукрасить" и добавить доп. информацию к отображению стоимости. Для примера я выделил новую стоимость красным цветом и добавил к уже имеющейся информации разницу в стоимости (сколько получается скидка в рублях). Для этого все также перейдите к 195 строке в файле
templates/gk_storebox/html/com_virtuemart/category/default.php и замените строку:
echo $this->currency->createPriceDiv('basePriceWithTax', '', $product->prices);
на это:
if (round($product->prices['basePriceWithTax'],$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('basePriceWithTax', '', $product->prices);
}
if (round($product->prices['basePriceWithTax'],$this->currency->_priceConfig['salesPrice'][1]) != $product->prices['salesPrice']) {
echo '<span class="price-crossed" >' . $this->currency->createPriceDiv ('basePriceWithTax', '', $product->prices) . "</span>";
}
echo $this->currency->createPriceDiv ('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $product->prices);
Для улучшения видимости товара со скидкой выделяем его красным цветом, для этого откройте CSS файл Virtuemart —
templates/gk_storebox/css/vm.css и в конце файла добавьте следующий код:
div.catProductPrice div.PricesalesPrice span.PricesalesPrice {
color: #e5372f!important;
}
В итоге получится такая картинка:
Как видно на скриншоте выше, в тех товарах где есть скидка, отображается:
1) Стоимость со скидкой
2) Стоимость без скидки
3) Разница в цене
А в тех товарах где скидка не предусмотрена, отображается просто обычная стоимость товара.
Данный вариант более лучше подходит, т.к. клиент отчетливо увидит новую цену на определенный товар, увидит старую цену + немаловажно увидит разницу в стоимости.
Также вы можете подписать, оформить либо дополнить отображение товаров в категории любой другой информацией. Например добавить подписи и пр. ... ...