Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Валюты - неправильная конвертация в модуле доставки UPS [решено]


russum
 Поделиться

Рекомендованные сообщения

Версия магазина: ocStore v0.1.5 (OpenCart 1.4.9.2)

Изменений не вносились.

Хостинг на моем впс который на моем же серваке.

Проблема:

На всем сайте (включая при чекауте) валюта конвертируется правильно везде, но при чекауте если стоит не долларвая валюта а любая другая (евро, рубли) стоимость доставки через модуль UPS (другие пока не пробовал) считается не правильно (хотя цена за продукт конвертируется правильно) (извените за каламбур).

Вот пара изображений для примера:

ИзображениеВ долларовой валюте все верно - и цена продукта, и цена доставки.

ИзображениеА вот в рублях - цена продукта конвертируется верно, а цена доставки - получается нереальных - 140 тысяч рублей.

Я только недавно начал работать с OpenCart так что мог чтото не то сделать, но что - не пойму.

Спасибо!

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


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

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


Не спорю что выглядит дорого, но UPS - он такой. Я еще жду активация USPS аккаунта (в котором доставка будет раза в три-четыре дешевле) и не хотелось бы иметь такой же проблемы там, т.к. от UPS можно отказатся, а от USPS как от самого дешевого способа - нет. А так - почти на все будут купоны бесплатной доставки но просто хотелось бы воспользоватся интересным встроенным функционалом.

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


Активировал аккаунт в USPS (другой модуль доставки) - тот же баг - 25$ показывает как 24000 рублей. Это только у меня такая проблема?

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


разобрался с проблемой.

Если комуто интересно, в файле catalog/model/shipping/ups.php:

'cost'         => $this->currency->convert($cost, 'USD', $this->currency->getCode()),
заменил на

'cost'         => $cost,
и

'text'         => $this->currency->format($this->tax->calculate($this->currency->convert($cost, 'USD', $this->currency->getCode()), $this->config->get('ups_tax_class_id'), $this->config->get('config_tax')))
заменил на

'text'         => $this->currency->format($this->tax->calculate([b]$cost[/b], $this->config->get('ups_tax_class_id'), $this->config->get('config_tax')))

Т.е. просто убрал насильную конвертацию переменной $cost которая уже конвертируется один раз до этого. Возможно в старых версиях каждый модуль был отвественен за конвертацию валюты а теперь за это отвественен сам opencart а модули остались не изменными. Так же по аналогии нужно убрать лишнюю конвертацию в файле usps.php.

Что интересно - данный код лишней конвертации встречается только в этих двух файлах.

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


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

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

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

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.