Tarasovby Опубликовано: 22 апреля 2014 Поделиться Опубликовано: 22 апреля 2014 Всем привет!Ребя подскажите пожалуйста криворукому человеку :(Нужно округлить цены с 2 612 096 до 2 612 000.Помогите пожалуйста разобраться как это можно сделать.Очень жду дельный ответ! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 22 апреля 2014 Поделиться Опубликовано: 22 апреля 2014 <?php round(число, -3) ?> Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... Tarasovby Опубликовано: 2 мая 2014 Автор Поделиться Опубликовано: 2 мая 2014 по аналогии до тысячи (-2 меняем на -3) судя по цифре у Вас белорусский рубль, значит для вас if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } Огромное спасибо! Вы настоящий друг :eek: Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 недели спустя... alex39 Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 Всем спасибо за решения, но у меня немного "посложнее" задача для рублевых округлений... Есть товары дорогие, условно дороже 15 тыс, для них оеругление до сотен самое то, но есть товары дешевые, всякая мелочевка, которая стоит условно от 300 до 3000 руб., и для них надо округлять уже десятки. Т.е. нужна проверка, если цена условно до 3 тыр, то десятки , если больше, то сотни. Что-то не получается у меня написать эту строку, может кто подскажет.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 а какие попытки предпринимались? if ($currency == 'BYR') { $string .= ($value>15000)? number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point) : number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alex39 Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 Спасибо большое. Но ошибка происходит, не могу понять где: if ($currency == 'RUB') { $string .= ($value>15000)? number_format (round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point); else $string .= number_format (round($value, -1), (int)$decimal_place, $decimal_point, $thousand_point); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 Вы внимательно посмотрели мой пример? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... Leo2 Опубликовано: 10 августа 2015 Поделиться Опубликовано: 10 августа 2015 Сделал, как советовали выше, цена в карточке товара округляется. Но если положить его в корзину в количестве, отличном от 1, то для расчета суммы используется цена, причем с копейками. Например, товар стоит 1,73 USD. По курсу 64 получается 110,72 Если положить в товар 10 шт - то сумма получается 1107 без округления и 1110 с округлением. Если 100 или 1000 - то соответственно 11070 /11072 и 110720/110720 (при цене за шт. 110, т.к. в настройках указано не учитывать копейки). Где подправить, чтобы при подсчете суммы тоже учитывалась округленная цена? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Leo2 Опубликовано: 12 августа 2015 Поделиться Опубликовано: 12 августа 2015 Как выяснилось, это особенность подсчета самого движка opencart. Ошибки возникают, если валюта по дефолту и валюта во фронтенде отличаются. Странно, что до сих пор нету мода, который исправляет эти ошибки и считает суммы используя цену фронтенда, а не дефолтную в другой валюте с последующим округлением. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 9 месяцев спустя... Leo2 Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 (изменено) А можно ли округлить цену до кратной не 10, а 5 или 3? Можно вот так, например (кратно 5) $string .= number_format(round($value/5, 0)*5,(int)$decimal_place, $decimal_point, $thousand_point); Но проблема с вычислением сумм остается, т.к. эта строчка только для отображения цены... Изменено 14 мая 2016 пользователем Leo2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Да, ошибки накапливаются.. Для этого нужно округлять во сех тех местах, где происходят манипуляции с "денежными" числами. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Мне кажется сразу в бд писать округляя проще будет Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Нет.. Цена в админке указана в $ В магазине идет пересчет по курсу Соответственно будут и копейки и десятки копеек. Я уже на форуме показывал методы округления финансовых данных, но их найти... Проще повториться $price = 1 $value = 1234.567; $price_currency = round($price * $value); Далее все манипуляции с уже округленными данными $total = $price_currency * $quantity И затем форматирование для вывода Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 года спустя... Iren18 Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Всем добрый день! Нужен совет как округлить цену в карточке товара? Задача была такая: нужно чтобы цена товара на ветрине и везде была без копеек и в виде округленного числа до десятков (Например 1230 руб а не 1231руб) С помощью способов опубликованных на форуме проделала следующее: - Сначала убрала копейки Настройки--Локолизация--Валюта---знаков после запятой: ставим 0. Получила 1231 руб. - Далее округлила цену до десятков: в файле \system\library\cart\currency.php найдем там функцию: public function format в этой функции есть строка: $amount = round($amount, (int)$decimal_place); заменим на: $amount = (round($amount/10))*10; Все теперь цена отображается корректно на ветрине и считает в корзине правильно согласно цены на витрине (даже если увеличить кол-во) И выглядит как округленная до десятков: например 1230руб. в корзине 1230руб. * 2шт. =2460ру. Но вот проблема, если зайти в карточку товара цена отображается все так же (не округленная) например 1231руб. Никак не найду ответ в каком файле что нужно исправить еще? Очень нужен совет!!!! Магазин установлен на движке Опенкарт Русская сборка 2.3.0.2.3. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Не изобретайте велосипед с квадратными колёсами)) Пользуюсь решением. Есть и округление, работает по крону Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Iren18 Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 3 минуты назад, Iren18 сказал: RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Самый простой способ в вашем случае тек же этот файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 Только что, RusHookah сказал: Самый простой способ в вашем случае, Этот же файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 11 месяцев спустя... Stackand Опубликовано: 11 октября 2019 Поделиться Опубликовано: 11 октября 2019 В 11.11.2018 в 16:05, RusHookah сказал: /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... misterrewon Опубликовано: 13 марта 2021 Поделиться Опубликовано: 13 марта 2021 В 11.10.2019 в 19:08, Stackand сказал: В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Не узнали ответ, случаем?) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Похожие публикации [Решено] Округление цен в магазине Автор: maksiLo, 5 декабря 2014 округление цен 3 ответа 1 307 просмотров afwollis 9 декабря 2014 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Общие вопросы Округление цен с 2 612 096 до 2 612 000 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Tarasovby Опубликовано: 2 мая 2014 Автор Поделиться Опубликовано: 2 мая 2014 по аналогии до тысячи (-2 меняем на -3) судя по цифре у Вас белорусский рубль, значит для вас if ($currency == 'BYR') { $string .= number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point); } else { $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } Огромное спасибо! Вы настоящий друг :eek: Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alex39 Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 Всем спасибо за решения, но у меня немного "посложнее" задача для рублевых округлений... Есть товары дорогие, условно дороже 15 тыс, для них оеругление до сотен самое то, но есть товары дешевые, всякая мелочевка, которая стоит условно от 300 до 3000 руб., и для них надо округлять уже десятки. Т.е. нужна проверка, если цена условно до 3 тыр, то десятки , если больше, то сотни. Что-то не получается у меня написать эту строку, может кто подскажет.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 а какие попытки предпринимались? if ($currency == 'BYR') { $string .= ($value>15000)? number_format(round($value, -3), (int)$decimal_place, $decimal_point, $thousand_point) : number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alex39 Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 Спасибо большое. Но ошибка происходит, не могу понять где: if ($currency == 'RUB') { $string .= ($value>15000)? number_format (round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point); else $string .= number_format (round($value, -1), (int)$decimal_place, $decimal_point, $thousand_point); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 Вы внимательно посмотрели мой пример? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... Leo2 Опубликовано: 10 августа 2015 Поделиться Опубликовано: 10 августа 2015 Сделал, как советовали выше, цена в карточке товара округляется. Но если положить его в корзину в количестве, отличном от 1, то для расчета суммы используется цена, причем с копейками. Например, товар стоит 1,73 USD. По курсу 64 получается 110,72 Если положить в товар 10 шт - то сумма получается 1107 без округления и 1110 с округлением. Если 100 или 1000 - то соответственно 11070 /11072 и 110720/110720 (при цене за шт. 110, т.к. в настройках указано не учитывать копейки). Где подправить, чтобы при подсчете суммы тоже учитывалась округленная цена? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Leo2 Опубликовано: 12 августа 2015 Поделиться Опубликовано: 12 августа 2015 Как выяснилось, это особенность подсчета самого движка opencart. Ошибки возникают, если валюта по дефолту и валюта во фронтенде отличаются. Странно, что до сих пор нету мода, который исправляет эти ошибки и считает суммы используя цену фронтенда, а не дефолтную в другой валюте с последующим округлением. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 9 месяцев спустя... Leo2 Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 (изменено) А можно ли округлить цену до кратной не 10, а 5 или 3? Можно вот так, например (кратно 5) $string .= number_format(round($value/5, 0)*5,(int)$decimal_place, $decimal_point, $thousand_point); Но проблема с вычислением сумм остается, т.к. эта строчка только для отображения цены... Изменено 14 мая 2016 пользователем Leo2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Да, ошибки накапливаются.. Для этого нужно округлять во сех тех местах, где происходят манипуляции с "денежными" числами. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Мне кажется сразу в бд писать округляя проще будет Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Нет.. Цена в админке указана в $ В магазине идет пересчет по курсу Соответственно будут и копейки и десятки копеек. Я уже на форуме показывал методы округления финансовых данных, но их найти... Проще повториться $price = 1 $value = 1234.567; $price_currency = round($price * $value); Далее все манипуляции с уже округленными данными $total = $price_currency * $quantity И затем форматирование для вывода Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 года спустя... Iren18 Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Всем добрый день! Нужен совет как округлить цену в карточке товара? Задача была такая: нужно чтобы цена товара на ветрине и везде была без копеек и в виде округленного числа до десятков (Например 1230 руб а не 1231руб) С помощью способов опубликованных на форуме проделала следующее: - Сначала убрала копейки Настройки--Локолизация--Валюта---знаков после запятой: ставим 0. Получила 1231 руб. - Далее округлила цену до десятков: в файле \system\library\cart\currency.php найдем там функцию: public function format в этой функции есть строка: $amount = round($amount, (int)$decimal_place); заменим на: $amount = (round($amount/10))*10; Все теперь цена отображается корректно на ветрине и считает в корзине правильно согласно цены на витрине (даже если увеличить кол-во) И выглядит как округленная до десятков: например 1230руб. в корзине 1230руб. * 2шт. =2460ру. Но вот проблема, если зайти в карточку товара цена отображается все так же (не округленная) например 1231руб. Никак не найду ответ в каком файле что нужно исправить еще? Очень нужен совет!!!! Магазин установлен на движке Опенкарт Русская сборка 2.3.0.2.3. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Не изобретайте велосипед с квадратными колёсами)) Пользуюсь решением. Есть и округление, работает по крону Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Iren18 Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 3 минуты назад, Iren18 сказал: RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Самый простой способ в вашем случае тек же этот файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 Только что, RusHookah сказал: Самый простой способ в вашем случае, Этот же файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 11 месяцев спустя... Stackand Опубликовано: 11 октября 2019 Поделиться Опубликовано: 11 октября 2019 В 11.11.2018 в 16:05, RusHookah сказал: /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... misterrewon Опубликовано: 13 марта 2021 Поделиться Опубликовано: 13 марта 2021 В 11.10.2019 в 19:08, Stackand сказал: В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Не узнали ответ, случаем?) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Похожие публикации [Решено] Округление цен в магазине Автор: maksiLo, 5 декабря 2014 округление цен 3 ответа 1 307 просмотров afwollis 9 декабря 2014 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Общие вопросы Округление цен с 2 612 096 до 2 612 000 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
alex39 Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 Спасибо большое. Но ошибка происходит, не могу понять где: if ($currency == 'RUB') { $string .= ($value>15000)? number_format (round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point); else $string .= number_format (round($value, -1), (int)$decimal_place, $decimal_point, $thousand_point); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 26 мая 2014 Поделиться Опубликовано: 26 мая 2014 Вы внимательно посмотрели мой пример? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... Leo2 Опубликовано: 10 августа 2015 Поделиться Опубликовано: 10 августа 2015 Сделал, как советовали выше, цена в карточке товара округляется. Но если положить его в корзину в количестве, отличном от 1, то для расчета суммы используется цена, причем с копейками. Например, товар стоит 1,73 USD. По курсу 64 получается 110,72 Если положить в товар 10 шт - то сумма получается 1107 без округления и 1110 с округлением. Если 100 или 1000 - то соответственно 11070 /11072 и 110720/110720 (при цене за шт. 110, т.к. в настройках указано не учитывать копейки). Где подправить, чтобы при подсчете суммы тоже учитывалась округленная цена? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Leo2 Опубликовано: 12 августа 2015 Поделиться Опубликовано: 12 августа 2015 Как выяснилось, это особенность подсчета самого движка opencart. Ошибки возникают, если валюта по дефолту и валюта во фронтенде отличаются. Странно, что до сих пор нету мода, который исправляет эти ошибки и считает суммы используя цену фронтенда, а не дефолтную в другой валюте с последующим округлением. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 9 месяцев спустя... Leo2 Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 (изменено) А можно ли округлить цену до кратной не 10, а 5 или 3? Можно вот так, например (кратно 5) $string .= number_format(round($value/5, 0)*5,(int)$decimal_place, $decimal_point, $thousand_point); Но проблема с вычислением сумм остается, т.к. эта строчка только для отображения цены... Изменено 14 мая 2016 пользователем Leo2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Да, ошибки накапливаются.. Для этого нужно округлять во сех тех местах, где происходят манипуляции с "денежными" числами. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Мне кажется сразу в бд писать округляя проще будет Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Нет.. Цена в админке указана в $ В магазине идет пересчет по курсу Соответственно будут и копейки и десятки копеек. Я уже на форуме показывал методы округления финансовых данных, но их найти... Проще повториться $price = 1 $value = 1234.567; $price_currency = round($price * $value); Далее все манипуляции с уже округленными данными $total = $price_currency * $quantity И затем форматирование для вывода Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 года спустя... Iren18 Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Всем добрый день! Нужен совет как округлить цену в карточке товара? Задача была такая: нужно чтобы цена товара на ветрине и везде была без копеек и в виде округленного числа до десятков (Например 1230 руб а не 1231руб) С помощью способов опубликованных на форуме проделала следующее: - Сначала убрала копейки Настройки--Локолизация--Валюта---знаков после запятой: ставим 0. Получила 1231 руб. - Далее округлила цену до десятков: в файле \system\library\cart\currency.php найдем там функцию: public function format в этой функции есть строка: $amount = round($amount, (int)$decimal_place); заменим на: $amount = (round($amount/10))*10; Все теперь цена отображается корректно на ветрине и считает в корзине правильно согласно цены на витрине (даже если увеличить кол-во) И выглядит как округленная до десятков: например 1230руб. в корзине 1230руб. * 2шт. =2460ру. Но вот проблема, если зайти в карточку товара цена отображается все так же (не округленная) например 1231руб. Никак не найду ответ в каком файле что нужно исправить еще? Очень нужен совет!!!! Магазин установлен на движке Опенкарт Русская сборка 2.3.0.2.3. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Не изобретайте велосипед с квадратными колёсами)) Пользуюсь решением. Есть и округление, работает по крону Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Iren18 Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 3 минуты назад, Iren18 сказал: RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Самый простой способ в вашем случае тек же этот файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 Только что, RusHookah сказал: Самый простой способ в вашем случае, Этот же файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 11 месяцев спустя... Stackand Опубликовано: 11 октября 2019 Поделиться Опубликовано: 11 октября 2019 В 11.11.2018 в 16:05, RusHookah сказал: /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... misterrewon Опубликовано: 13 марта 2021 Поделиться Опубликовано: 13 марта 2021 В 11.10.2019 в 19:08, Stackand сказал: В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Не узнали ответ, случаем?) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Похожие публикации [Решено] Округление цен в магазине Автор: maksiLo, 5 декабря 2014 округление цен 3 ответа 1 307 просмотров afwollis 9 декабря 2014 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Общие вопросы Округление цен с 2 612 096 до 2 612 000 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
Leo2 Опубликовано: 10 августа 2015 Поделиться Опубликовано: 10 августа 2015 Сделал, как советовали выше, цена в карточке товара округляется. Но если положить его в корзину в количестве, отличном от 1, то для расчета суммы используется цена, причем с копейками. Например, товар стоит 1,73 USD. По курсу 64 получается 110,72 Если положить в товар 10 шт - то сумма получается 1107 без округления и 1110 с округлением. Если 100 или 1000 - то соответственно 11070 /11072 и 110720/110720 (при цене за шт. 110, т.к. в настройках указано не учитывать копейки). Где подправить, чтобы при подсчете суммы тоже учитывалась округленная цена? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Leo2 Опубликовано: 12 августа 2015 Поделиться Опубликовано: 12 августа 2015 Как выяснилось, это особенность подсчета самого движка opencart. Ошибки возникают, если валюта по дефолту и валюта во фронтенде отличаются. Странно, что до сих пор нету мода, который исправляет эти ошибки и считает суммы используя цену фронтенда, а не дефолтную в другой валюте с последующим округлением. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Leo2 Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 (изменено) А можно ли округлить цену до кратной не 10, а 5 или 3? Можно вот так, например (кратно 5) $string .= number_format(round($value/5, 0)*5,(int)$decimal_place, $decimal_point, $thousand_point); Но проблема с вычислением сумм остается, т.к. эта строчка только для отображения цены... Изменено 14 мая 2016 пользователем Leo2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Да, ошибки накапливаются.. Для этого нужно округлять во сех тех местах, где происходят манипуляции с "денежными" числами. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Мне кажется сразу в бд писать округляя проще будет Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Нет.. Цена в админке указана в $ В магазине идет пересчет по курсу Соответственно будут и копейки и десятки копеек. Я уже на форуме показывал методы округления финансовых данных, но их найти... Проще повториться $price = 1 $value = 1234.567; $price_currency = round($price * $value); Далее все манипуляции с уже округленными данными $total = $price_currency * $quantity И затем форматирование для вывода Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 года спустя... Iren18 Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Всем добрый день! Нужен совет как округлить цену в карточке товара? Задача была такая: нужно чтобы цена товара на ветрине и везде была без копеек и в виде округленного числа до десятков (Например 1230 руб а не 1231руб) С помощью способов опубликованных на форуме проделала следующее: - Сначала убрала копейки Настройки--Локолизация--Валюта---знаков после запятой: ставим 0. Получила 1231 руб. - Далее округлила цену до десятков: в файле \system\library\cart\currency.php найдем там функцию: public function format в этой функции есть строка: $amount = round($amount, (int)$decimal_place); заменим на: $amount = (round($amount/10))*10; Все теперь цена отображается корректно на ветрине и считает в корзине правильно согласно цены на витрине (даже если увеличить кол-во) И выглядит как округленная до десятков: например 1230руб. в корзине 1230руб. * 2шт. =2460ру. Но вот проблема, если зайти в карточку товара цена отображается все так же (не округленная) например 1231руб. Никак не найду ответ в каком файле что нужно исправить еще? Очень нужен совет!!!! Магазин установлен на движке Опенкарт Русская сборка 2.3.0.2.3. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Не изобретайте велосипед с квадратными колёсами)) Пользуюсь решением. Есть и округление, работает по крону Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Iren18 Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 3 минуты назад, Iren18 сказал: RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Самый простой способ в вашем случае тек же этот файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 Только что, RusHookah сказал: Самый простой способ в вашем случае, Этот же файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 11 месяцев спустя... Stackand Опубликовано: 11 октября 2019 Поделиться Опубликовано: 11 октября 2019 В 11.11.2018 в 16:05, RusHookah сказал: /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... misterrewon Опубликовано: 13 марта 2021 Поделиться Опубликовано: 13 марта 2021 В 11.10.2019 в 19:08, Stackand сказал: В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Не узнали ответ, случаем?) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Похожие публикации [Решено] Округление цен в магазине Автор: maksiLo, 5 декабря 2014 округление цен 3 ответа 1 307 просмотров afwollis 9 декабря 2014 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Общие вопросы Округление цен с 2 612 096 до 2 612 000
Otvet Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Мне кажется сразу в бд писать округляя проще будет Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Нет.. Цена в админке указана в $ В магазине идет пересчет по курсу Соответственно будут и копейки и десятки копеек. Я уже на форуме показывал методы округления финансовых данных, но их найти... Проще повториться $price = 1 $value = 1234.567; $price_currency = round($price * $value); Далее все манипуляции с уже округленными данными $total = $price_currency * $quantity И затем форматирование для вывода Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 года спустя... Iren18 Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Всем добрый день! Нужен совет как округлить цену в карточке товара? Задача была такая: нужно чтобы цена товара на ветрине и везде была без копеек и в виде округленного числа до десятков (Например 1230 руб а не 1231руб) С помощью способов опубликованных на форуме проделала следующее: - Сначала убрала копейки Настройки--Локолизация--Валюта---знаков после запятой: ставим 0. Получила 1231 руб. - Далее округлила цену до десятков: в файле \system\library\cart\currency.php найдем там функцию: public function format в этой функции есть строка: $amount = round($amount, (int)$decimal_place); заменим на: $amount = (round($amount/10))*10; Все теперь цена отображается корректно на ветрине и считает в корзине правильно согласно цены на витрине (даже если увеличить кол-во) И выглядит как округленная до десятков: например 1230руб. в корзине 1230руб. * 2шт. =2460ру. Но вот проблема, если зайти в карточку товара цена отображается все так же (не округленная) например 1231руб. Никак не найду ответ в каком файле что нужно исправить еще? Очень нужен совет!!!! Магазин установлен на движке Опенкарт Русская сборка 2.3.0.2.3. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Не изобретайте велосипед с квадратными колёсами)) Пользуюсь решением. Есть и округление, работает по крону Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Iren18 Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 3 минуты назад, Iren18 сказал: RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Самый простой способ в вашем случае тек же этот файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 Только что, RusHookah сказал: Самый простой способ в вашем случае, Этот же файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 11 месяцев спустя... Stackand Опубликовано: 11 октября 2019 Поделиться Опубликовано: 11 октября 2019 В 11.11.2018 в 16:05, RusHookah сказал: /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... misterrewon Опубликовано: 13 марта 2021 Поделиться Опубликовано: 13 марта 2021 В 11.10.2019 в 19:08, Stackand сказал: В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Не узнали ответ, случаем?) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Похожие публикации [Решено] Округление цен в магазине Автор: maksiLo, 5 декабря 2014 округление цен 3 ответа 1 307 просмотров afwollis 9 декабря 2014 Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
chukcha Опубликовано: 14 мая 2016 Поделиться Опубликовано: 14 мая 2016 Нет.. Цена в админке указана в $ В магазине идет пересчет по курсу Соответственно будут и копейки и десятки копеек. Я уже на форуме показывал методы округления финансовых данных, но их найти... Проще повториться $price = 1 $value = 1234.567; $price_currency = round($price * $value); Далее все манипуляции с уже округленными данными $total = $price_currency * $quantity И затем форматирование для вывода Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 года спустя... Iren18 Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Всем добрый день! Нужен совет как округлить цену в карточке товара? Задача была такая: нужно чтобы цена товара на ветрине и везде была без копеек и в виде округленного числа до десятков (Например 1230 руб а не 1231руб) С помощью способов опубликованных на форуме проделала следующее: - Сначала убрала копейки Настройки--Локолизация--Валюта---знаков после запятой: ставим 0. Получила 1231 руб. - Далее округлила цену до десятков: в файле \system\library\cart\currency.php найдем там функцию: public function format в этой функции есть строка: $amount = round($amount, (int)$decimal_place); заменим на: $amount = (round($amount/10))*10; Все теперь цена отображается корректно на ветрине и считает в корзине правильно согласно цены на витрине (даже если увеличить кол-во) И выглядит как округленная до десятков: например 1230руб. в корзине 1230руб. * 2шт. =2460ру. Но вот проблема, если зайти в карточку товара цена отображается все так же (не округленная) например 1231руб. Никак не найду ответ в каком файле что нужно исправить еще? Очень нужен совет!!!! Магазин установлен на движке Опенкарт Русская сборка 2.3.0.2.3. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Не изобретайте велосипед с квадратными колёсами)) Пользуюсь решением. Есть и округление, работает по крону Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Iren18 Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 3 минуты назад, Iren18 сказал: RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Самый простой способ в вашем случае тек же этот файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 Только что, RusHookah сказал: Самый простой способ в вашем случае, Этот же файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 11 месяцев спустя... Stackand Опубликовано: 11 октября 2019 Поделиться Опубликовано: 11 октября 2019 В 11.11.2018 в 16:05, RusHookah сказал: /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 год спустя... misterrewon Опубликовано: 13 марта 2021 Поделиться Опубликовано: 13 марта 2021 В 11.10.2019 в 19:08, Stackand сказал: В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Не узнали ответ, случаем?) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
Iren18 Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Всем добрый день! Нужен совет как округлить цену в карточке товара? Задача была такая: нужно чтобы цена товара на ветрине и везде была без копеек и в виде округленного числа до десятков (Например 1230 руб а не 1231руб) С помощью способов опубликованных на форуме проделала следующее: - Сначала убрала копейки Настройки--Локолизация--Валюта---знаков после запятой: ставим 0. Получила 1231 руб. - Далее округлила цену до десятков: в файле \system\library\cart\currency.php найдем там функцию: public function format в этой функции есть строка: $amount = round($amount, (int)$decimal_place); заменим на: $amount = (round($amount/10))*10; Все теперь цена отображается корректно на ветрине и считает в корзине правильно согласно цены на витрине (даже если увеличить кол-во) И выглядит как округленная до десятков: например 1230руб. в корзине 1230руб. * 2шт. =2460ру. Но вот проблема, если зайти в карточку товара цена отображается все так же (не округленная) например 1231руб. Никак не найду ответ в каком файле что нужно исправить еще? Очень нужен совет!!!! Магазин установлен на движке Опенкарт Русская сборка 2.3.0.2.3. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RusHookah Опубликовано: 10 ноября 2018 Поделиться Опубликовано: 10 ноября 2018 Не изобретайте велосипед с квадратными колёсами)) Пользуюсь решением. Есть и округление, работает по крону Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Iren18 Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 3 минуты назад, Iren18 сказал: RusHookah спасибо, модуль интересный и наверное незаменим когда несколько валют применяется. У меня все проще есть только одна - это РУБ. Самый простой способ в вашем случае тек же этот файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 Только что, RusHookah сказал: Самый простой способ в вашем случае, Этот же файл копать Данное решение на 1.5.* но по аналогии можно сделать и для 2.3 и 3.0 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
RusHookah Опубликовано: 11 ноября 2018 Поделиться Опубликовано: 11 ноября 2018 /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Stackand Опубликовано: 11 октября 2019 Поделиться Опубликовано: 11 октября 2019 В 11.11.2018 в 16:05, RusHookah сказал: /system/library/cart/currency.php $string .= number_format($amount, (int)$decimal_place, $this->language->get('decimal_point'), $this->language->get('thousand_point')); В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
misterrewon Опубликовано: 13 марта 2021 Поделиться Опубликовано: 13 марта 2021 В 11.10.2019 в 19:08, Stackand сказал: В моей версии именно такая строка. На что ее нужно заменить, что б цены скруглялись? Не узнали ответ, случаем?) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения