Как сделать скидку в Рублях а не в процентах

5 года 11 мес. назад #2558 от simos
И при отображении товара пишется "Ваша скидка 2%", а можно сделать чтобы писало в рублях, разницу в цене?

Руб 217.00(старая цена)
Руб 201.81
Вы экономите: 16 руб(а не 7.00% )

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2565 от Wedal
simos, посмотрите внимательно в настройках. Если там нет, зайдите в файл components\com_virtuemart\themes\default\templates\common\price.tpl.php. Формирование скидки где-то в конце.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2581 от Andrey_D
Скидка в рублях а не в %, для этого находим файл /components/com_virtuemart/themes/default/templates/common/price.tpl.php
Комментируем строку 42ю - //echo $discount_info["amount"]."%";
которая как раз и выводит скидку в процентах
После нее вставляем код:

### рассчитываем в денежном выражении размер скидки ####
$kdt_old_price = (string)$CURRENCY_DISPLAY->getFullValue
($undiscounted_price);
$kdt_new_price = (string)$CURRENCY_DISPLAY->getFullValue
($base_price);
$kdt_old_price = str_replace(" ", "", $kdt_old_price);
$kdt_old_price = 0.00 + str_replace(",", ".", $kdt_old_price);
$kdt_new_price = str_replace(" ", "", $kdt_new_price);
$kdt_new_price = 0.00 + str_replace(",", ".", $kdt_new_price);
$kdt_discount_summ = (double)$kdt_old_price - $kdt_new_price;
echo $CURRENCY_DISPLAY->getFullValue($kdt_discount_summ);
echo " (".$discount_info["amount"]."%)";

Предпоследняя строка в листинге выводит абсолютный размер скидки с указанием валюты товара
Последняя строка выводит процентную скидку. Чтобы ее не выводить просто закомментируйте эту строку.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2586 от simos
Andrey_D - спасибо за помощь, вот только он не выводит.

Кран шаровой MINI VT.331.N вн-нар
Руб 123.00(здесь перечеркнуто)
Руб 119.31
Вы экономите: Руб 0.00 (3.00%)
Рейтинг товара:
0 stars Голосов: 0



что то наверное не так

<?php
// DISCOUNT: Show the amount the customer saves
if(!empty($discount_info["amount"])) {
echo "<br />";
echo $VM_LANG->_('PHPSHOP_PRODUCT_DISCOUNT_SAVE').": ";
if($discount_info["is_percent"]==1) {
//echo $discount_info["amount"]."%";
### рассчитываем в денежном выражении размер скидки ####
$kdt_old_price = (string)$CURRENCY_DISPLAY->getFullValue
($undiscounted_price);
$kdt_new_price = (string)$CURRENCY_DISPLAY->getFullValue
($base_price);
$kdt_old_price = str_replace(" ", "", $kdt_old_price);
$kdt_old_price = 0.00 + str_replace(",", ".", $kdt_old_price);
$kdt_new_price = str_replace(" ", "", $kdt_new_price);
$kdt_new_price = 0.00 + str_replace(",", ".", $kdt_new_price);
$kdt_discount_summ = (double)$kdt_old_price - $kdt_new_price;
echo $CURRENCY_DISPLAY->getFullValue($kdt_discount_summ);
echo " (".$discount_info["amount"]."%)";
}
else {
echo $CURRENCY_DISPLAY->getFullValue($discount_info["amount"]);
}
}
?>

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх