COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Проблема с округлением цены


jenik

Recommended Posts

Помогите, пожалуйста, разобраться с проблемой.

Есть товар у которого цена отображается с двумя десятичными знаками. Тут всё хорошо.

Но вот после добавления его в заказ, в админ панели он отображается с нулями после запятой, вместо копеек.
В чем может быть причина?

Ссылка на комментарий
Поделиться на других сайтах

Да я уже как только не смотрел. В контроллере написано

            // Display prices
            if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                $price = $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax')));
            } else {
                $price = false;
            }

            // Display prices
            if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                $total = $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax')) * $product['quantity']);
            } else {
                $total = false;
            }

И как я тут только не убирал и не менял, все-равно не получается. Может есть какие-то соображения?

Ссылка на комментарий
Поделиться на других сайтах

вы похоже смотрите фронт а говорим мы как я понимаю про админку

еще может быть момент в языковых переменных там задается формат вывода

Ссылка на комментарий
Поделиться на других сайтах

Я выше там писал. Я как пользователь, делаю заказ. И сразу после "подтвердить заказ" перехожу в историю заказов. И там уже цены округлены в меньшую сторону до *.00
Это не фронт смотреть нужно?

Ссылка на комментарий
Поделиться на других сайтах

То есть я подозреваю что какой-то обработчик по нажатию "Подтвердить заказ" вносит в бд уже округленную сумму. Вот только как посмотреть его - я нинаю

Ссылка на комментарий
Поделиться на других сайтах

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

https://github.com/ocshop/ocshop/blob/oc-2.1.0.2/upload/catalog/controller/account/order.php

либо я не могу викнуть в ваш вопрос и понять где именно и на каком этапе происходит потеря копеек

 

кстати что происходит в админке в этом заказе там все хорошо или тоже плохо ?

Ссылка на комментарий
Поделиться на других сайтах

Сейчас посмотрю. А тем времени, дабы вникнуть в суть разговора, если есть время, то:
http://sportgoods.tk/  Можно внести любые рег.данные. Потом добавить товар в корзину(стоимость которого с копейками), и после подтвердить заказ.
Затем перейти в личный кабинет - история заказов. И там цена заказа будет с нулями, вместо копеек :(

Ссылка на комментарий
Поделиться на других сайтах

если бы было уже давно бы вас спросил адрес сайта, в виду его отсутствия я и гоняю вас пинками по памяти где можно копнуть

Ссылка на комментарий
Поделиться на других сайтах

если оно уже потерялось в базе

то смотрите туда что пишет в эту базу или контроллер дает команду или модель

если проблема на моменте вызова то смотрите как оно вызывается

Ссылка на комментарий
Поделиться на других сайтах

 

2 часа назад, jenik сказал:

И как я тут только не убирал и не менял, все-равно не получается. Может есть какие-то соображения?

 

модули какие-то, связанные с ценами, стоят?

смотрите соответствующие файлы сразу в system/storage/modification/...

Ссылка на комментарий
Поделиться на других сайтах

12 минуты назад, jenik сказал:

Кто пробывал затестить - пробуйте еще раз. А то я игрался с die(); и история заказов не работала

 

попробовал, да, действительно, продираясь через ваши эксперименты, получил .00

но кстати на своей тестовой проверил - все нормально с копейками

проверял на вот этой версии окстора (не особо слежу за ними):

Скрытый текст

define('VERSION', '2.1.0.2.1'); /* Fix version 02.04.2016 */

 

Ссылка на комментарий
Поделиться на других сайтах

Это не мои эксперименты :(
Это меня попросили исправить. А вот где ошибка - пока не нашел. Обновить не могу, нужно именно найти ошибку.
Хоть блин по однуму файлы подменяй...

Ссылка на комментарий
Поделиться на других сайтах

модификаторы тоже отключайте

в catalog/controller/checkout/confirm.php

посмотрите содержимое переменной $order_data

$this->session->data['order_id'] = $this->model_checkout_order->addOrder($order_data);

 

Ссылка на комментарий
Поделиться на других сайтах

Я только что наотключался, что пришлось перезаливать дамп базы)
Посмотрел, такая же строка. Больше скажу, я даже уже подменял весь этот файл с другого источника

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу