К сожалению, обновление курсов валют из коробки в Opencart 2.3 уже не работает. Курсы брались из сервиса Yahoo, который прекратил своё существование.
Выкладываю бесплатный модуль обновления курсов валют.
Источник модуля Opencart.com — ссылка на страницу для других версий Opencart (UPD(08.04.20) Ссылки нет, так как модуль удален с сайта Opencart.com). Но, модуль из этой темы так-же не обновляет курсы валют.
Именно его я поправил на другую API, с которой на момент написания поста курсы тянулись без проблем.
Если вы ищите модуль для версии Opencart 2.3, качайте исправленный по ссылке:
Скачать “Currency Rates Fix for Opencart 2.3” currencyupdatev23x.ocmod.zip – Загружено 1865 раз – 9,40 КБ
Если вы используете Opencart отличный от 2.3 — скачивайте нужную вам версию с Opencart.com, и внесите следующую правку:
После установки модуля откройте файл
/admin/model/extension/module/currency_update.php
И поменяйте адрес API от fixer.io (https://api.fixer.io/) на следующий URL https://api.exchangeratesapi.io/ — это приблизительно 40 строка.
Ищем:
1 2 3 |
$response = $this->curlRequest('https://api.fixer.io/latest?base='.$base_currency.'&symbols='.implode(',', $currency_codes)); |
Вместо этого вставляем:
1 2 3 |
$response = $this->curlRequest('https://api.exchangeratesapi.io/latest?base='.$base_currency.'&symbols='.implode(',', $currency_codes)); |
В настройках укажите источник — fixer.io соответственно.
Когда пытаюсь загрузить архив — говорит, что Invalid (2.3.0.2).
Да, прошу прощения, менеджер файлов в блоге, зачем то прибавил в конец названия _ (нижнее подчёркивание). — Поправил…
Здравствуйте.
Может быть такое, что с нового адреса модуль тоже перестал курсы валют? установил модуль, но в нем уже стоял новый адрес для обновления. Валюта не обновляется.
Это просто проверить, пока УРЛ https://api.exchangeratesapi.io/latest?base=USD&symbols=RUB
Отдаёт какой-то более менее внятный ответ — (курсы в формате JSON) — то сервис работает…
Здравствуйте.
При переходе по ссылке отдает верный ответ, вот только при принудительном обновлении курса валют в админке ничего не меняется. Очистка кеша не помогает. В чем может быть причина? Спасибо.
Да, и при попытке установить модуль — вот такая ошибка
http://prntscr.com/rfy6la
Разобрался. AUTO_INCREMENT не был включен.
Спасибо за мод.
Умер модуль :((
Да, в своём текущем виде умер.
Но, на сервисе exchangeratesapi можно зарегистрироваться, получить YOUR_ACCESS_KEY и добавить в конец запроса:
access_key=YOUR_ACCESS_KEY
Чтобы получилось
$response = $this->curlRequest(‘https://api.exchangeratesapi.io/latest?base=’.$base_currency.’&access_key=YOUR_ACCESS_KEY&symbols=’.implode(‘,’, $currency_codes));
В тарифах 250 запросов в месяц бесплатно…