http://code.google.com/p/cbr2ecbformat/

cbr2ecbformat - программа-преобразователь XML-я с курсами обмена валют от ЦБ РФ в формат от www.ecb.int

Автор: Василий Ерёменко <vas@davimas.name>

Кратко

Что это и зачем?

Virtuemart (http://virtuemart.net) - прекрасный скрипт для создания небольшого Интернет-магазина в рамках CMS Joomla! (http://joomla.org). Но, как всегда, есть подводные камни, сильно мешающие жить. Например, конвертация валют. По умолчанию Virtuemart берёт данные из Европейского Центрального Банка (http://www.ecb.int). Но для деятельности в России требуется брать курсы валют из Банка России (ЦБ РФ) (http://cbr.ru). На эту тему уже изведены мегабайты кода и дискового пространства Форумов.

Что предлагается?

Я предлагаю достаточно простой, расширяемый и надёжный способ научить Virtuemart брать данные из ЦБ РФ. Смысл предложения заключается в преобразовании XML-данных от cbr.ru (см. http://cbr.ru/scripts/Root.asp?Prtid=SXML и http://www.cbr.ru/scripts/XML_daily.asp ) к формату, повторяющему XML от ECB (см. http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html и http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml ) при помощи специально разработанной программы-конвертера cbr2ecbformat.cgi.

Процедура установки

Последовательность действий проста и понятна. Она требует минимума "кодирования".

passwd = "вашпароль";

Обращаю внимание: в качестве пароля советую использовать только латинские буквы и цифры. Никаких пробелов и прочей ереси! Иначе будут проблемы.

var $document_address = 'http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml';

и меняем ссылку в ней на только что созданый "поддельный" Европейский Центробанк:

var $document_address = 'http://ваш.сайт/cgi-bin/cbr2ecbformat.cgi?pass=вашпароль'; // Change pass!!!

Сохраняем, заменяем на сервере исходный Virtuemart-овский файл на наш и переходим к следующему пункту.

Заключение

Представленный здесь путь "подмены источника курсов валют" для Virtuemart-а удобен также тем, что легко допускает практически любые манипуляции с курсами валют при минимуме изменений непосредственно в Virtuemart-е: достаточно доработать программу-преобразователь cbr2ecbformat.cgi. Такое положение делает предложенную схему практически универсальной по отношению к версиям Virtuemart-а и прекрасно подстраиваемой под нужды конкретного заказчика.

ProgsCbr2ecbformatRu (last edited 2011-04-15 20:54:57 by VasilyEremenko)