не судите строго ) начитался всего про ручное установление курсов и добавление гривны в Virtuemart и решил все По-простому открываем пресловутый файл по фтп или как можете (на своем сайте, вместо autobase.com.ua ваш сайт ) /www/autobase.com.ua/administrator/components/com_virtuemart/classes/currency/convertECB.php находим строчку var $document_address = 'http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml'; заменяем ее на var $document_address = 'http://www.autobase.com.ua/eurofxref-daily.xml'; в примере мой сайт.. положил файл ХМЛ в корень сайта файл собственно скачал от сюда: http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml'; далее удаляем /www/autobase.com.ua/cache/daily.xml а в файле eurofxref-daily.xml уже можно добавить и гривну UAH конечно гривну нужно добавить и в валютах Virtuemart с таким же сокращением UAH например (курс левый) ------------------------ <Cube time='2009-10-28'> <Cube currency='USD' rate='1.48'/> <Cube currency='UAH' rate='11.84'/> <Cube currency='JPY' rate='134.76'/> <Cube currency='BGN' rate='1.9558'/> ------------------------ единственное неудобство.. это то что курсы выставляются относительно евро ) 1.48 но думаю перевести не проблема ) т.е. гривны сначала переводятся в евро, а потом в доллар нужно выставить соответствующие коэффициенты в фале eurofxref-daily.xml'; есть один ахтунг после смены курсов в файле http://www.autobase.com.ua/eurofxref-daily.xml чистите кеш Так вот может кто знает как выставить валюты относительно доллара ???????????? .. пишите или сюда 554-202-758 ася с вопросами туда же )))
Обучим ecb понимать UAH ) читал, читал, пока сам не написал, ничего не заработало, учтите что виртмарт, принимает курсы относительно евро, Вот что у меня получилось ... я думаю весьма оригинально в присловутом файле меняем так var $document_address = 'http://вашсайт/eurofxref-daily.php'; а в корень сайта заливаем eurofxref-daily.php с текстом Код (PHP): <? $z = file_get_contents('http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml'); #вместо http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml #eurofxref-daily.php // Получаем XML-файл с источника $contentuc = get_contentuc(); // Разбираем содержимое, при помощи регулярных выражений $pattern = "#<item>[\s]*<date>(.+?)</date>[\s]*". "<code>(.+?)</code>[\s]*". "<char3>(.+?)</char3>[\s]*". "<size>(.+?)</size>[\s]*". "<name>(.+?)</name>[\s]*". "<rate>(.+?)</rate>[\s]*". "<change>(.+?)</change>[\s]*". "#i"; preg_match_all($pattern, $contentuc, $out); unset($out[0]); for($i = 0; $i < count($out[1]); $i++) { if($out[2][$i] == 840) $dollaruc = $out[6][$i]; if($out[2][$i] == 978) $eurouc = $out[6][$i]; if($out[2][$i] == 643) $rubuc = $out[6][$i]; if($out[2][$i] == 826) $steruc = $out[6][$i]; if($out[2][$i] == 860) $summuc = $out[6][$i]; if($out[2][$i] == 974) $belarusuc = $out[6][$i]; if($out[2][$i] == 981) $gruzijauc = $out[6][$i]; if($out[2][$i] == 124) $kanadauc = $out[6][$i]; if($out[2][$i] == 203) $chehijauc = $out[6][$i]; if($out[2][$i] == 208) $danijauc = $out[6][$i]; if($out[2][$i] == 233) $eestiuc = $out[6][$i]; if($out[2][$i] == 392) $japanuc = $out[6][$i]; if($out[2][$i] == 398) $kazahuc = $out[6][$i]; if($out[2][$i] == 428) $latvijauc = $out[6][$i]; if($out[2][$i] == 440) $litnauc = $out[6][$i]; if($out[2][$i] == 498) $moldovauc = $out[6][$i]; } //echo "100 USD - <B>$dollaruc</B> UAH<br>"; //echo "100 EUR - <B>$eurouc</B> UAH<br>"; //echo "10 RUR - <B>$rubuc</B> UAH<br>"; $eurouc = $eurouc/100; $y = strpos($z,"'>"); $z = substr($z, 0, $y + 2)."\r\n <Cube currency='UAH' rate='$eurouc'/>".substr($z, $y + 2); echo $z; function get_contentuc() { // Формируем ссылку к источнику валюты $link = "http://www.bank-ua.com/export/currrate.xml"; // Загружаем HTML-страницу $fd = fopen($link, "r"); $text=""; if (!$fd) echo "Курсы временно недоступны"; else { // Чтение содержимого файла в переменную $text while (!feof ($fd)) $text .= fgets($fd, 4096); } // Закрыть открытый файловый дескриптор fclose ($fd); return $text; } ?> а также для того чотб увидеть еффект, удалите (руками) /cache/daily.xml