Если информация была полезной для вас, вы можете поблагодарить за труды Яндекс деньгами: 41001164449086 или пластиковой картой:

Конвертер валют ЦБРФ для Virtuemart - convertCBRF.php

Изначально Virtuemart берёт курсы валют ЕЦБ (Европейский центральный банк), в чём вроде нет ничего плохого, но к сожалению Yandex маркет, с его YML форматом, понятия не имеет о курсе ЕЦБ. И для автоматического пересчёта он предлагает курс ЦБРФ (Центральный банк Российской Федерации), вот тут и начинаются рассогласования. Курс ЦБРФ отличается от курса ЕЦБ, что на выходе, например при пересчёте из долларов в рубли, в Viruemart и Яндексе даёт разные цены. Понятно что при не совпадении цен ваш интернет магазин не пройдёт проверку на Yandex маркете. От сюда вырисовывается задача: сделать конвертер валют Vitruemart для ЦБРФ.

Порыскав на просторах интернета я так и не нашёл работающего конвертера для Vitruemart, а вариант платного решения меня принципиально не устраивал. Итак я взял родной модуль convertECB.php от Virtuemart 1.1.9, и переписал его.
В результате у меня получился модуль, с говорящим названием - convertCBRF.php. Смена курса валют происходит в 00.00 часов. Изначально установлено Московское время: GMT+4. Всем кому нужен другой часовой пояс просто измените в модуле значение переменной:

$chas_p = 4;

Больше вам ничего менять не нужно. Просто скопируйте файл из архива (ссылка в конце статьи) - convertCBRF.php  в /administrator/components/com_virtuemart/classes/currency/
и выберете в настройках Virtuemart соответствующий модуль конвертора валют - convertCBRF.php

Когда я разбирался в работе оригинального модуля, то снабдил его большим количеством комментариев, и в последствии решил их сохранить, так что все желающие могут изучить готовый конвертер более подробно.

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

Если у вас возникли проблемы с установкой модуля, или вам необходимо видоизменить его например для прибавки к текущему курсу доллара или евро 3%, оставляйте комментарии, пишите, всегда постараюсь помочь.


Ссылки:
convertCBRFv1.0.4.zip Обновлено 2015-03-02

Версию для Virtuemart 2.0.x можно найти здесь:
Конвертер валют ЦБРФ (ЦБ РФ) для Virtuemart 2.0.x - convertCBRF.php

Расширенная версия для Virtuemart 2.6.x здесь:
Модуль валют ЦБРФ (ЦБ РФ) для Virtuemart 2.6.x - convertCBRF

Версию для Virtuemart 3.x можно найти здесь:
Модуль конвертер валют ЦБРФ для Virtuemart 3.0 – 3.4 convertCBRF30

Комментарии   

# Владимир 12.01.2015 12:37
Спасибо огромное! Всё работает!
Ответить | Ответить с цитатой | Цитировать
# Андрей 14.01.2015 17:39
Спасибо, только курс с ЦБРФ ниже чем с европейского :roll:
Ответить | Ответить с цитатой | Цитировать
# Сергей 11.05.2015 22:23
Иногда работает нормально а иногда выскакивает ошибка Ошибка: Failed to retrieve the Currency. В чем тут может быть дело?
Ответить | Ответить с цитатой | Цитировать
# admin 11.05.2015 22:50
Скорее всего курс с ЦБРФ получить не может. Либо хостер что-то блокирует, либо сервер ЦБРФ отклоняет запросы.
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий


Если информация была полезной для вас, вы можете поблагодарить за труды Яндекс деньгами: 41001164449086 или пластиковой картой: