[Помогите] Округление цены до сотен

Тема в разделе "OpenCart", создана пользователем xerox_ozr, 7 июн 2013.

  1. xerox_ozr

    xerox_ozr

    Регистрация:
    5 май 2013
    Сообщения:
    11
    Симпатии:
    1
    Нужно округлить итоговую цену в рублях до сотен, например 6235 -> 6200 руб. или 10096 -> 10100


    Как сделать то?

    версия 1.5.4.1
     
  2. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    Система --> Локализация --> Валюты --> Выбранная валюта --> Количество знаков после запятой
    ставим 0
     
  3. xerox_ozr

    xerox_ozr

    Регистрация:
    5 май 2013
    Сообщения:
    11
    Симпатии:
    1
    Копейки округляет, но как сделать , чтобы итог был к примеру 10600

    Услуги "Почты России": 2505 рублей
    Скидка на способ оплаты (Денежные переводы): -251 рублей
    Сумма: 8350 рублей
    Итого: 10605 рублей
     
  4. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
    Ну, "копать здесь":
    1) найти файл в Контроллере (если округлять в Корзине - \catalog\controller\checkout\cart.php, в Оформлении заказа - \catalog\controller\checkout\checkout.php, в Симпле - соответствующие файлы), а в файле строчку типа
    'total' => $product['total'],
    и её поправить:
    'total' => round($product['total'],-2),
    2) либо, аналогично, в Модели (\catalog\model\checkout\order.php)

    Вот как-то так, навскидку...
     
  5. xerox_ozr

    xerox_ozr

    Регистрация:
    5 май 2013
    Сообщения:
    11
    Симпатии:
    1
    Блин никак не могу найти нигде total' => $product['total'] ,а у вас примерно какой номер строки?
     
  6. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
    Попробуйте поиском Ctrl+F (прямо в окошко поиска скопируйте 'total' => $product['total'],),
    у меня в \catalog\controller\checkout\checkout.php это 73 и 158 строки.
     
  7. xerox_ozr

    xerox_ozr

    Регистрация:
    5 май 2013
    Сообщения:
    11
    Симпатии:
    1
    Спасибо за старания , но ничего не увидел ни глазами ни поиском.
     
  8. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
    "Спокойствие, старина, только спокойствие..."
    Какая у вас версия движка? у меня 1.5.4.1.
     
  9. xerox_ozr

    xerox_ozr

    Регистрация:
    5 май 2013
    Сообщения:
    11
    Симпатии:
    1
    Да тоже самое. Мб перешлёте файлы ?
     
  10. ГорМастер

    ГорМастер

    Регистрация:
    1 апр 2013
    Сообщения:
    115
    Симпатии:
    22
    Самое страшное слово в ядерной физике - УПС....
    Файл Checkout у меня оказался мусором, остался после тестирования EasyCheckout... (Сейчас поставил Симплу, там свои файлы).

    Посмотрел в Сart.php (19130 байт, похож на изначальный), ИМХО, Вам нужна 187 строка:

     
  11. xerox_ozr

    xerox_ozr

    Регистрация:
    5 май 2013
    Сообщения:
    11
    Симпатии:
    1
    У меня строка 242 'total' => $total, заменил на 'total' => round($product['total'],-2), в catalog\controller\checkout\cart.php . Ничего не поменялось
     
  12. Iren18

    Iren18

    Регистрация:
    10 ноя 2018
    Сообщения:
    1
    Симпатии:
    0
    Всем добрый день! Нужен совет как округлить цену в карточке товара?
    Задача была такая: нужно чтобы цена товара на ветрине и везде была без копеек и в виде округленного числа до десятков (Например 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.